Skip to content

Instantly share code, notes, and snippets.

@sotnikov-link
Last active April 27, 2021 22:09
Show Gist options
  • Save sotnikov-link/aac19504dee6fcbbb682d9848806500c to your computer and use it in GitHub Desktop.
Save sotnikov-link/aac19504dee6fcbbb682d9848806500c to your computer and use it in GitHub Desktop.
ЕГЭ Информатика 2021. Решение 27 задания

Пример решения задачи 27 по информатике для ЕГЭ 2021

Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить количество пар элементов (aᵢ, aⱼ) этого набора, в которых 1 ≤ i+5 ≤ j ≤ N и сумма элементов кратна 14.

Входные данные. Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество чисел N (1 ≤ N ≤ 100 000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10 000.

Пример входного файла:

8
7
5
6
12
24
7
9
12

Для указанных входных данных количество подходящих пар должно быть равно 2. В приведённом наборе имеются две пары (7, 7) и (5, 9), сумма элементов которых кратна 14 и индексы в последовательности отличаются не менее, чем на 5.

В ответе укажите два числа: сначала количество подходящих пар для файла А, затем для файла B.

Решение на JavaScript для Node.js

const fs = require('fs');

/** Список строк из файла */
const lineList = fs.readFileSync('./data.txt').toString().split('\n');

/** Список чисел */
const numberList = [];

for (let lineIndex = 1; lineIndex < lineList.length; lineIndex++) {
  const parsedInteger = parseInt(lineList[lineIndex]);

  if (parsedInteger >= 0) {
    numberList.push(parsedInteger);
  }
}

/** Максимально допустимое число из списка */
const maxNumber = 10000;

/**
 * Делитель
 *
 * Число на которое сумма пары чисел будет делиться без остатка.
 *
 * @see https://w.wiki/3FLg
 */
const divisor = 14;

/** Отставание для подсчёта чисел */
const numberCountersLag = 5;

/**
 * Хеш-таблица для подсчёта чисел
 *
 * @see https://w.wiki/3FLr
 *
 * @type {{ [number: number]: number }}
 */
const numberCounters = {};

/** Счётчик пар */
let pairsCounter = 0;

for (
  /** Индекс текущего числа */
  let currentIndex = numberCountersLag;
  currentIndex < numberList.length;
  currentIndex++
) {
  /** Запаздывающий индекс */
  const laggedIndex = currentIndex - numberCountersLag;

  if (laggedIndex >= 0) {
    /** Запаздывающее число, которое пора засчитать */
    const laggedNumber = numberList[laggedIndex];

    if (numberCounters[laggedNumber]) {
      numberCounters[laggedNumber]++;
    } else {
      numberCounters[laggedNumber] = 1;
    }
  }

  /** Текущее число, которому нужно найти пару */
  const currentNumber = numberList[currentIndex];

  for (
    /** Сумма пары чисел */
    let pairSum = divisor;
    pairSum <= maxNumber + maxNumber;
    pairSum = pairSum + divisor
  ) {
    /**
     * Дельта
     *
     * Необходимое число для составления пары.
     */
    const delta = pairSum - currentNumber;

    /**
     * Количество дельт
     */
    const deltaQuantity = numberCounters[delta];

    if (delta > 0 && deltaQuantity) {
      for (let counter = 0; counter < deltaQuantity; counter++) {
        pairsCounter++;
      }
    }
  }
}

console.log('Количество пар', pairsCounter.toLocaleString('ru'));

Ответ

8 и 128 567 918.

20
44
26
671
554
227
547
895
944
267
160
253
900
993
848
353
279
705
983
252
784
60000
928
432
661
16
831
688
451
262
784
456
872
147
485
678
615
346
594
759
881
357
554
585
314
341
514
288
655
102
249
733
46
834
516
475
513
286
493
829
681
522
249
410
395
563
156
59
396
951
573
537
249
127
360
589
143
763
19
753
255
640
992
396
532
650
520
42
314
45
331
173
681
566
114
88
195
179
607
956
69
131
377
985
584
28
377
81
269
309
61
232
543
761
258
316
212
665
529
720
240
362
885
773
160
758
759
339
515
106
42
268
461
809
601
660
814
443
770
372
863
750
633
552
77
633
49
604
63
747
575
667
348
286
369
958
837
756
66
122
268
366
95
970
97
204
607
290
30
632
295
342
208
85
819
356
596
303
288
603
148
835
809
91
995
632
807
653
249
143
271
234
927
162
189
514
550
577
412
409
143
93
496
955
716
304
637
371
894
379
906
518
648
751
425
126
921
405
144
109
389
779
994
552
551
300
953
393
130
287
464
243
88
382
131
58
639
210
547
705
855
466
498
158
262
569
388
91
77
695
978
720
502
63
508
419
191
82
607
777
287
535
106
821
315
79
259
623
833
346
604
307
931
591
586
690
308
750
86
717
240
699
858
399
376
116
887
411
784
536
63
650
201
986
20
418
494
671
447
235
599
675
669
635
666
528
486
701
814
385
626
348
488
901
228
541
76
509
206
88
416
878
226
75
431
57
873
527
930
872
706
690
754
161
250
227
451
734
546
727
417
172
312
363
287
190
769
975
71
716
16
355
670
378
477
119
291
802
919
471
732
739
756
244
457
766
177
425
261
37
451
288
415
378
170
734
12
88
683
986
743
495
308
687
116
825
253
321
131
986
393
338
846
49
74
148
562
768
971
771
247
558
272
75
349
535
236
827
943
835
932
408
777
794
329
889
589
439
163
202
363
959
62
634
712
157
442
794
907
328
325
250
868
700
384
402
21
217
952
184
32
236
521
45
42
974
119
329
201
200
187
403
713
89
961
211
701
207
709
791
891
254
398
852
790
838
889
344
740
278
756
58
401
985
880
505
20
40
638
916
814
94
869
940
699
102
727
247
249
134
504
540
554
35
709
754
528
935
459
14
450
306
498
535
55
693
449
284
101
857
13
451
319
968
65
402
937
825
580
255
471
302
635
733
969
900
248
171
18
798
605
41
991
314
546
841
187
572
455
817
794
97
548
938
614
240
201
455
857
880
764
945
762
972
985
121
692
138
602
363
677
434
147
458
803
528
955
405
938
790
750
899
463
579
839
72
889
31
828
167
587
152
192
95
987
167
436
835
768
28
630
457
443
658
78
142
371
936
183
641
560
194
582
526
160
974
860
264
130
820
863
179
866
759
379
884
609
768
418
462
56
733
29
808
536
755
906
711
593
15
943
725
735
377
865
638
228
852
606
715
464
43
593
955
482
874
315
531
610
750
534
668
511
675
534
849
639
865
160
146
136
938
128
23
264
642
798
942
175
592
214
204
781
573
849
109
438
658
625
328
954
508
706
246
239
843
27
456
374
875
600
831
617
200
555
983
193
962
843
61
381
919
946
466
865
937
292
323
273
733
479
631
804
167
425
414
621
978
416
535
28
474
166
748
437
946
81
280
358
220
759
139
387
94
256
368
138
114
659
442
577
822
844
916
891
683
580
281
451
784
591
973
134
701
134
77
21
349
537
936
797
453
316
434
594
642
30
558
135
648
301
564
97
368
252
554
780
52
507
195
861
772
282
911
960
304
462
10
989
595
304
811
348
542
550
785
646
321
443
516
126
741
417
761
408
108
665
138
890
270
493
766
748
113
144
564
519
11
301
834
984
409
919
770
977
809
954
713
78
611
564
60
509
512
562
732
393
175
293
659
787
863
637
317
64
633
884
922
808
866
56
445
566
372
847
737
485
956
724
926
957
257
832
832
844
515
854
876
662
480
844
230
399
414
576
145
108
526
509
633
16
306
685
716
499
965
311
570
280
516
39
470
368
764
354
693
512
780
328
470
964
641
33
614
281
616
731
511
57
947
321
295
320
523
122
951
915
874
754
342
799
562
964
912
306
647
550
290
338
223
667
584
352
170
200
56
728
709
965
127
555
862
160
348
18
382
864
701
526
331
186
766
353
133
269
78
963
512
413
143
958
492
912
442
51
541
653
799
204
346
408
996
578
511
778
176
134
753
213
129
297
568
146
702
57
725
748
285
343
173
189
120
890
619
807
549
819
226
727
442
906
660
468
690
875
501
822
369
510
391
665
137
59
332
496
576
302
225
520
507
494
948
396
357
516
310
670
735
731
737
92
196
733
450
459
686
997
930
271
700
944
623
854
346
958
825
964
662
723
273
907
613
96
912
810
741
111
742
495
494
536
144
868
966
228
586
17
237
322
565
255
867
163
335
912
620
795
739
218
547
409
586
570
435
887
837
408
589
179
824
751
831
805
816
614
646
365
96
339
880
729
198
100
392
69
374
786
841
21
835
621
243
833
682
597
516
890
127
611
319
880
99
338
875
624
914
321
764
19
433
76
710
268
766
25
340
868
607
308
605
468
551
673
522
95
870
371
724
535
512
751
166
49
693
64
496
219
316
994
351
137
516
684
944
171
821
957
412
516
135
399
106
877
542
893
704
802
184
578
32
467
629
305
554
277
914
517
110
559
369
419
473
955
55
138
303
701
262
653
252
977
366
706
640
240
698
296
74
354
569
492
591
804
218
749
779
149
863
97
343
653
997
813
589
368
112
954
862
117
187
960
329
629
77
993
440
319
274
421
344
782
364
155
200
808
211
371
245
796
657
383
328
492
787
928
563
156
490
298
783
99
434
326
793
679
534
639
927
370
16
808
376
671
340
598
567
927
428
315
820
528
919
13
995
95
80
776
688
205
531
574
362
496
118
244
232
247
125
931
72
297
996
122
248
976
409
567
639
807
207
98
275
73
536
768
250
385
222
630
338
667
197
428
329
616
682
659
270
682
914
73
792
938
937
967
47
775
906
172
70
933
282
898
621
720
574
223
779
20
469
196
842
87
152
58
689
340
850
197
956
22
295
514
643
439
387
262
420
367
647
194
981
305
366
299
790
378
775
648
298
53
159
855
71
219
231
413
97
573
132
492
176
263
318
83
317
331
703
852
514
834
787
39
739
40
798
833
351
307
453
333
390
823
828
544
602
997
564
850
268
825
737
291
852
778
281
86
456
186
176
578
514
430
899
531
20
664
675
463
128
324
385
31
848
894
393
25
673
160
324
894
696
585
934
605
660
904
396
679
561
645
240
124
228
30
531
728
999
879
299
35
416
782
724
541
27
773
321
663
117
220
879
17
49
100
954
191
236
959
434
194
631
703
368
974
368
543
108
393
206
577
59
118
277
847
945
714
496
325
930
543
96
357
879
886
827
652
559
979
111
694
308
988
658
994
480
136
537
586
94
733
352
15
73
607
546
538
755
915
631
644
952
446
579
342
296
544
486
119
705
743
576
178
284
405
456
748
266
16
682
304
676
650
986
768
628
875
680
432
165
572
424
595
712
190
981
551
663
53
108
788
723
549
724
197
547
710
393
740
75
151
152
865
818
849
899
901
511
742
782
430
295
785
349
79
794
449
661
636
15
359
298
751
93
12
397
707
212
361
540
341
540
798
712
659
680
976
892
284
920
149
622
815
960
996
965
635
962
183
505
780
516
845
981
545
928
223
552
921
576
401
776
180
976
536
541
548
992
256
55
154
323
502
146
409
771
292
55
426
641
42
885
172
567
118
678
513
894
537
756
242
976
410
463
299
131
34
438
716
24
445
59
134
799
833
90
187
904
962
728
368
826
236
677
196
753
616
949
541
299
809
723
932
358
20
330
299
829
295
308
839
595
634
919
526
379
956
852
580
247
109
525
335
524
220
318
31
264
287
533
536
86
767
700
923
259
322
456
848
159
78
298
212
145
673
370
888
134
937
731
933
832
277
769
747
358
322
482
584
455
11
788
961
381
407
11
288
260
766
43
423
911
380
770
570
376
310
567
756
234
244
652
509
953
147
53
415
360
320
604
643
239
634
529
895
161
687
759
86
323
26
783
287
145
918
856
110
344
712
455
810
491
321
690
775
997
408
658
567
14
773
435
358
653
875
360
789
120
962
285
325
17
510
828
328
377
957
587
718
911
339
228
225
725
862
495
591
874
192
391
271
815
392
259
463
841
726
879
641
901
564
86
346
382
111
636
748
104
851
382
209
911
900
292
957
761
218
727
727
196
894
734
168
696
278
807
946
725
345
355
198
276
486
615
277
620
214
783
269
915
61
616
344
675
782
59
500
97
604
628
100
796
131
517
667
994
113
891
545
401
815
905
791
232
775
85
743
737
481
833
239
882
304
845
513
705
339
196
145
144
60
534
619
325
490
192
512
243
323
321
315
876
205
929
837
487
39
116
928
621
560
176
136
377
425
638
437
624
796
390
136
956
73
95
894
421
732
729
636
375
129
218
973
176
856
111
539
679
245
499
296
818
525
703
97
996
597
727
208
535
18
433
274
964
386
638
272
204
318
792
651
102
209
118
414
453
106
594
998
473
22
400
876
118
951
529
277
679
965
680
665
617
646
265
699
393
272
85
322
463
345
104
908
60
971
56
599
310
993
369
948
872
554
235
139
463
751
197
388
975
386
902
968
375
574
295
218
90
695
442
70
724
614
576
845
443
940
673
325
508
157
14
328
812
226
620
109
406
560
489
423
968
651
807
810
420
133
379
207
696
328
774
302
89
721
216
740
742
419
305
645
859
688
296
276
788
851
715
974
255
422
97
346
920
909
109
572
436
963
123
389
585
955
626
757
671
866
57
858
260
399
203
983
720
841
310
246
339
453
437
575
130
74
381
222
879
130
671
101
529
106
321
454
434
967
942
565
959
138
695
70
169
36
362
321
227
826
317
129
615
961
346
738
789
993
758
992
711
105
460
650
114
290
610
784
927
66
811
478
738
888
300
583
15
381
577
168
330
521
900
830
151
374
158
968
28
66
809
371
936
271
651
308
155
434
995
89
578
361
509
862
771
756
176
286
600
985
438
42
275
456
953
966
289
386
531
222
419
87
870
20
494
357
481
190
945
726
897
847
387
540
547
88
806
463
851
126
786
940
154
487
962
745
344
823
764
184
873
544
468
492
395
34
402
369
597
485
950
545
327
824
869
454
831
827
369
688
177
143
190
565
807
573
97
898
261
826
166
252
898
723
73
53
268
907
704
887
713
569
390
957
419
812
446
506
249
523
560
861
690
773
978
245
181
239
33
545
279
886
78
618
850
732
996
863
675
879
882
445
597
434
379
270
806
842
133
400
562
906
251
720
683
98
145
179
877
793
193
757
978
966
564
723
820
602
852
825
963
719
334
776
36
922
802
407
454
132
703
207
446
538
393
897
950
60
581
717
299
170
140
997
666
948
307
95
312
304
841
448
296
184
886
796
416
614
887
284
746
830
825
551
393
369
764
278
71
383
665
97
651
401
59
579
968
463
77
322
43
491
439
935
739
325
529
146
738
676
444
938
524
734
426
400
189
260
256
58
593
992
340
557
134
891
30
707
513
488
58
43
259
217
561
945
117
84
783
184
432
419
63
250
914
367
978
778
692
186
106
703
312
432
91
985
171
832
76
595
770
759
159
712
659
429
413
616
231
948
990
925
375
314
931
696
248
538
75
522
347
990
520
489
576
926
720
995
179
436
426
807
981
902
383
655
633
94
658
882
527
952
706
775
468
789
840
886
705
308
121
480
688
207
855
120
639
225
134
387
507
531
297
596
766
623
23
490
97
136
961
700
400
521
595
637
67
683
112
898
87
705
994
370
235
560
366
806
128
298
358
367
819
21
491
179
849
951
343
734
370
361
778
491
729
112
899
529
240
128
268
74
321
671
447
446
804
144
236
242
821
44
384
384
951
10
149
11
258
41
506
644
628
132
892
126
159
916
127
572
196
818
87
921
49
475
770
474
565
970
131
408
982
382
73
755
139
132
971
116
143
185
757
85
181
666
292
783
355
908
420
121
756
194
693
510
451
553
244
161
897
272
546
590
453
355
551
354
693
558
816
594
25
20
86
642
544
967
483
454
138
629
435
920
153
389
277
536
788
313
395
313
701
965
686
123
159
863
656
766
456
449
712
101
878
481
770
594
310
174
124
807
988
946
883
62
860
737
199
418
714
240
92
947
599
593
427
117
644
477
37
94
621
652
323
987
227
704
721
988
565
159
947
411
446
577
738
998
971
339
405
651
726
916
500
214
710
177
630
159
276
487
66
740
373
508
928
306
377
394
571
458
591
965
104
615
65
337
249
641
604
40
27
610
904
571
763
284
850
208
70
977
959
397
631
302
751
121
577
634
497
13
906
106
924
885
783
255
863
318
320
93
246
41
195
328
652
236
926
915
766
37
492
76
162
614
940
877
916
641
118
169
775
55
945
966
893
153
445
546
520
579
348
369
543
578
859
638
64
695
713
439
654
30
298
407
781
610
133
142
677
398
411
138
868
504
496
319
404
655
293
15
742
121
526
877
473
567
959
479
783
910
778
515
688
352
651
703
729
545
45
414
486
664
551
422
31
257
120
698
381
805
680
849
613
986
391
811
672
598
237
866
899
792
968
540
135
514
985
846
330
795
936
419
617
614
461
993
613
918
580
506
116
552
965
619
886
664
806
263
995
562
137
745
995
773
472
298
366
928
743
957
691
844
330
88
184
72
339
441
158
822
627
97
846
89
606
736
799
871
602
120
138
582
418
964
272
73
909
268
41
495
712
870
76
221
349
509
844
545
396
746
947
673
937
701
574
594
425
625
771
837
263
480
854
158
35
886
821
62
169
204
98
841
431
995
736
761
859
371
783
432
575
179
989
958
862
820
527
149
468
738
308
896
855
271
134
785
827
71
136
89
693
469
25
598
570
279
132
548
17
458
370
551
943
291
654
478
977
731
772
884
351
151
802
231
509
431
754
127
582
934
917
533
342
503
89
156
852
294
399
881
839
282
814
363
470
127
292
634
132
415
733
661
40
98
337
822
767
246
740
198
620
906
246
224
404
575
721
144
372
285
189
369
479
646
253
257
578
698
767
165
334
310
863
198
93
843
929
970
260
238
323
631
697
137
290
301
913
243
216
246
960
878
320
534
601
61
541
713
302
196
978
309
443
744
249
881
234
429
570
819
501
971
529
232
15
537
421
57
715
730
701
188
40
412
813
737
45
140
517
810
201
700
258
932
838
944
74
231
146
355
464
840
598
822
986
15
369
999
546
456
875
301
373
569
116
952
139
160
419
895
952
93
270
799
161
986
750
224
729
657
939
410
467
71
458
931
79
914
642
420
985
159
402
817
212
383
968
589
629
368
402
284
773
426
387
38
926
541
929
537
913
540
35
90
805
367
288
667
984
367
529
718
261
889
809
573
576
367
459
666
955
369
173
287
323
572
527
405
399
657
139
263
125
807
405
840
941
597
182
756
449
586
659
33
712
31
913
652
282
445
257
982
993
22
329
954
780
367
637
835
938
732
736
686
750
931
42
402
864
33
466
91
536
628
621
864
888
83
449
846
17
840
288
411
651
674
390
88
557
486
50
740
403
640
387
574
992
887
660
237
975
533
18
12
110
855
11
894
51
714
837
382
519
954
723
311
694
489
178
862
518
306
212
583
94
212
341
205
333
504
407
563
256
938
432
366
663
240
449
897
968
249
443
634
736
177
985
668
890
695
55
703
517
103
602
606
817
185
202
926
999
756
767
602
205
160
415
536
986
829
808
880
499
178
354
112
322
148
422
679
241
889
499
585
154
849
787
351
727
235
371
75
791
673
779
523
649
546
143
424
196
159
117
438
824
681
700
568
774
184
760
986
968
483
664
857
39
74
858
362
14
278
121
897
924
852
497
741
470
101
155
149
838
624
32
228
597
343
609
75
314
58
943
842
689
12
855
866
254
59
488
77
702
440
277
724
88
617
963
686
977
931
477
19
494
795
930
266
676
779
985
282
279
480
446
705
121
969
932
488
39
633
580
358
495
94
220
750
758
940
223
795
62
786
713
699
132
754
54
387
178
863
533
431
758
556
675
612
980
501
37
912
666
909
970
575
240
226
899
475
846
195
945
928
456
253
761
454
356
661
299
340
587
48
901
311
952
957
587
434
299
431
410
856
912
586
824
925
757
503
155
260
889
522
543
690
300
721
866
676
780
400
165
945
865
319
317
45
853
580
850
635
12
44
138
464
463
67
968
989
390
401
240
390
314
402
765
596
722
58
89
125
212
670
156
702
213
34
666
375
408
483
349
100
119
322
530
664
794
531
295
30
482
771
755
754
328
968
397
587
625
21
244
155
283
727
164
796
697
882
580
56
823
378
704
86
656
426
36
581
19
603
530
199
641
704
210
249
692
97
860
215
350
939
832
896
14
159
640
920
760
117
80
457
11
32
195
887
93
61
809
956
443
843
745
458
561
211
704
611
979
950
102
813
704
718
373
921
218
499
633
472
549
175
643
788
262
716
923
20
128
876
345
404
985
226
305
733
639
629
607
183
281
384
176
798
850
424
337
87
575
514
669
903
996
402
179
432
270
243
141
22
791
515
907
696
985
729
709
465
387
495
220
974
679
315
436
39
677
713
472
146
573
346
445
83
576
222
156
444
429
246
77
743
488
582
372
774
733
283
439
442
189
173
896
368
948
469
605
896
374
75
953
971
39
983
760
684
595
318
126
183
670
334
267
550
684
636
241
978
222
691
242
507
124
66
249
281
842
478
352
729
702
832
217
737
397
323
227
71
416
307
664
313
616
754
842
522
42
644
569
343
198
755
345
567
145
184
524
27
298
24
189
335
766
71
679
823
739
573
212
576
279
769
499
250
548
114
499
846
720
520
312
440
928
54
743
756
291
360
585
588
686
751
305
160
208
852
979
954
854
635
662
147
175
845
198
892
939
218
280
193
898
827
688
383
143
978
647
791
945
80
959
379
220
548
600
218
965
316
357
883
398
433
788
877
880
25
954
505
25
262
717
782
948
296
423
777
722
831
260
664
791
788
834
369
654
465
140
920
674
783
388
967
226
867
870
576
546
155
106
659
632
703
238
169
453
154
827
304
128
579
251
744
780
389
469
582
791
766
220
838
263
892
230
318
640
516
254
126
936
478
925
498
367
364
210
776
469
915
884
31
699
356
792
96
151
434
525
871
629
488
856
692
489
27
466
61
204
207
416
861
143
987
118
656
421
948
616
92
849
619
384
889
48
525
137
417
529
911
846
903
168
102
95
595
755
226
651
953
986
811
127
990
313
162
972
642
443
799
576
580
948
216
904
313
862
95
628
487
375
322
220
711
742
213
872
667
977
559
625
947
422
90
587
169
681
444
782
359
359
38
708
519
918
408
645
225
384
355
659
514
735
596
235
562
876
562
640
179
246
943
281
628
232
513
309
986
754
773
328
78
18
820
704
569
260
170
935
951
723
826
743
459
739
979
870
417
821
240
952
892
684
839
307
219
629
832
961
961
276
108
873
917
740
266
401
130
760
842
662
504
535
618
777
417
359
556
529
492
34
460
544
113
208
864
969
477
75
640
468
733
63
823
218
949
166
368
154
845
657
289
325
686
502
560
221
274
620
559
705
216
204
618
740
767
130
835
408
415
715
532
286
899
194
356
929
42
902
10
128
624
28
361
504
560
259
815
134
825
724
899
44
658
674
256
67
909
197
921
273
845
448
113
611
38
544
470
390
202
821
716
576
139
798
953
369
239
530
99
173
313
806
482
836
264
53
985
493
463
446
750
245
797
26
521
756
630
269
286
545
79
710
822
550
970
117
680
811
118
766
882
385
591
990
98
445
724
725
615
796
622
442
595
448
865
562
803
670
716
996
782
247
111
681
308
734
300
909
318
319
755
546
266
101
877
558
559
772
920
870
350
321
240
963
257
992
881
94
197
686
992
715
524
783
790
22
980
598
854
917
246
704
798
72
38
562
353
167
49
46
295
653
214
866
399
857
777
611
250
160
571
913
844
30
292
863
644
775
92
188
826
478
205
116
413
555
582
747
354
92
378
42
43
477
453
521
721
409
432
845
338
691
907
625
209
389
900
311
112
810
290
523
304
552
485
726
546
355
518
870
240
15
415
352
993
364
11
139
363
979
27
301
305
551
637
176
547
620
503
949
240
124
312
477
253
643
702
721
235
788
651
190
517
672
634
315
970
179
90
492
451
439
331
60
609
210
433
661
789
308
298
219
807
534
98
521
640
536
990
321
673
596
560
15
36
722
657
884
508
780
615
899
58
231
518
388
825
74
926
294
870
720
733
790
200
491
14
416
283
336
971
383
97
477
430
212
379
366
247
228
874
46
54
229
641
681
972
397
131
812
77
101
299
86
922
555
734
132
147
271
767
192
719
344
507
888
755
479
635
438
648
609
533
627
347
281
673
580
907
92
972
920
974
634
212
548
772
483
613
735
747
589
501
304
415
349
199
761
361
875
178
976
599
520
752
907
185
898
858
229
191
237
442
472
463
416
242
447
295
269
161
258
586
749
792
63
637
606
70
738
166
208
352
236
281
754
558
841
336
729
266
852
816
540
917
751
846
317
92
915
971
879
623
752
591
929
758
642
151
114
651
175
994
337
280
620
559
888
454
411
932
406
990
297
855
147
504
304
538
677
699
168
603
944
73
600
146
704
885
957
819
366
867
432
517
72
321
712
931
433
918
730
601
584
593
705
405
817
908
620
485
866
629
718
895
709
18
865
144
924
279
334
863
616
977
530
943
318
882
377
386
726
619
20
968
785
45
850
539
387
637
320
407
942
392
371
672
745
418
749
842
297
626
623
118
705
810
772
929
30
532
175
644
406
905
375
572
932
172
269
630
254
305
208
873
223
996
53
812
364
694
994
186
402
730
145
672
753
809
831
321
281
614
176
635
292
38
209
115
331
61
889
290
713
467
73
934
414
477
873
749
98
93
925
264
640
201
974
608
624
998
669
147
62
587
532
359
766
154
484
16
210
70
692
710
831
578
811
910
529
772
740
557
363
248
535
580
756
654
703
82
253
692
610
743
117
488
202
724
612
940
670
26
946
177
831
314
398
130
898
814
836
820
497
34
626
862
804
779
466
784
658
884
608
389
220
411
525
64
35
56
306
441
117
321
228
550
120
986
516
398
279
478
123
658
753
10
942
72
362
255
234
993
658
735
669
809
346
804
821
681
66
324
446
522
848
147
888
426
88
686
925
517
936
414
973
111
40
461
190
111
482
466
315
292
368
790
277
914
643
857
829
297
399
514
445
237
149
529
410
78
730
728
447
672
534
348
672
577
989
495
314
883
232
698
589
88
83
970
851
444
127
687
396
479
819
212
798
277
206
991
572
418
422
494
972
198
785
172
738
391
304
493
794
278
549
624
362
225
861
878
690
167
501
589
323
410
415
130
96
891
240
608
289
878
410
871
103
387
837
957
793
961
935
61
836
459
828
458
453
415
508
590
835
695
943
592
345
907
404
509
565
844
496
895
550
718
523
169
454
804
218
733
482
588
410
437
237
865
915
26
920
27
102
441
124
272
853
496
549
58
214
687
49
416
680
252
848
247
410
166
996
139
131
156
181
549
474
502
934
27
694
589
639
354
60
343
811
466
891
392
515
301
752
951
736
229
91
543
477
792
11
396
567
775
541
804
84
523
974
26
684
774
899
429
952
263
361
243
655
477
14
650
467
95
49
651
563
378
717
448
975
214
183
712
624
783
90
394
842
896
452
372
58
875
549
812
160
627
636
141
886
814
713
992
618
73
182
650
992
75
298
769
353
841
884
513
188
996
842
233
942
671
695
343
81
156
753
49
512
663
819
895
187
587
895
349
703
869
932
937
594
818
648
872
696
166
961
871
653
669
170
823
121
961
781
862
18
504
668
111
52
403
245
696
996
773
402
786
125
930
222
875
897
148
437
850
982
382
625
949
150
717
518
460
748
991
565
406
691
283
96
19
292
95
496
168
764
197
552
650
717
756
378
170
579
401
833
213
302
863
423
511
180
103
851
781
622
21
137
172
171
487
454
979
598
923
638
361
690
651
745
844
687
963
58
676
291
671
17
848
755
187
327
468
490
296
967
279
729
849
66
564
131
817
278
390
79
141
60
854
433
848
537
535
189
922
305
571
383
106
18
411
77
109
759
719
107
747
259
496
356
122
166
635
141
42
504
719
122
503
44
472
612
215
488
970
158
718
843
706
361
835
747
599
699
395
496
111
192
415
658
138
292
196
225
428
618
185
483
16
611
606
35
161
623
876
186
291
570
113
531
12
444
949
78
85
289
726
404
891
590
642
454
791
627
223
664
637
571
100
966
915
339
645
973
941
343
940
352
870
364
713
953
353
420
240
820
613
173
955
821
525
764
475
753
920
784
987
609
839
180
51
333
821
33
776
768
117
249
915
45
926
73
491
420
617
914
950
998
340
196
332
845
129
226
516
65
203
638
970
745
904
226
216
233
861
846
742
500
98
198
865
523
570
94
594
489
98
566
805
593
623
439
948
960
488
350
125
219
856
893
772
236
560
997
419
683
628
47
248
428
419
115
274
623
744
793
768
402
189
690
735
571
567
48
468
829
283
497
661
854
749
813
113
998
817
550
180
903
85
727
907
289
951
262
994
766
779
220
839
25
41
757
31
243
384
178
289
364
607
924
268
336
414
758
816
399
348
451
174
773
722
331
335
332
105
99
691
413
93
847
197
837
568
505
534
247
590
911
62
612
282
852
857
553
204
346
653
617
337
295
439
579
769
321
347
360
388
816
392
943
171
116
627
140
825
668
101
967
316
501
540
424
755
123
575
100
527
207
791
73
459
478
627
284
932
264
708
176
603
349
836
949
864
97
883
243
599
837
635
318
463
756
268
408
727
471
977
307
168
938
462
98
66
375
926
259
104
371
45
102
968
767
25
351
80
428
624
730
947
822
860
666
886
761
715
204
689
662
109
678
793
121
411
12
611
442
310
451
461
732
613
299
478
271
839
155
633
448
208
802
440
35
847
125
421
223
147
156
838
780
713
322
827
577
412
902
354
129
74
90
916
343
917
130
340
516
700
909
590
48
832
781
661
781
504
320
161
914
550
441
566
843
138
567
770
329
271
234
189
869
971
786
977
505
166
876
316
378
368
622
673
493
621
410
302
926
533
916
772
896
978
134
657
183
797
699
570
961
158
251
241
137
883
406
722
369
366
732
383
203
196
986
937
677
519
826
404
78
538
702
279
300
794
180
334
686
623
50
460
210
686
903
174
141
100
677
232
59
346
191
890
842
337
792
634
293
908
377
541
539
806
247
183
929
436
725
188
38
616
842
253
662
638
835
234
166
357
849
845
909
247
828
624
447
799
950
509
961
190
812
520
974
780
506
787
456
198
252
492
291
79
320
661
383
911
32
278
830
490
429
687
547
174
477
796
443
738
624
700
73
437
427
179
736
802
888
844
256
419
454
33
681
561
93
490
789
437
930
507
171
919
645
234
715
768
677
731
967
827
337
170
477
549
275
420
973
165
128
422
442
409
613
813
177
541
510
817
535
610
786
885
766
791
114
108
82
729
167
190
730
848
139
559
72
334
521
14
561
261
624
716
267
589
969
709
587
432
613
652
70
779
847
259
52
927
514
900
203
193
888
534
223
819
853
359
70
67
472
209
595
721
911
815
309
478
435
625
846
276
941
510
229
101
638
460
934
604
650
790
794
765
741
804
921
865
523
865
405
81
867
326
619
854
750
105
219
546
655
197
354
773
607
598
812
525
743
637
637
90
585
173
168
741
952
981
455
106
337
476
498
863
275
315
361
843
263
330
412
804
871
974
66
330
671
109
29
52
502
81
260
334
332
207
480
140
877
135
787
834
362
999
893
786
159
968
611
149
245
675
225
278
741
437
153
283
515
811
225
133
32
836
329
583
956
104
646
313
287
925
321
983
468
360
230
740
593
995
374
294
948
799
373
314
353
452
25
855
659
343
844
625
696
828
443
481
664
639
837
38
483
925
306
693
434
505
219
150
692
863
538
319
927
453
508
846
661
196
792
267
381
200
121
895
929
481
344
315
273
405
470
320
592
472
536
184
130
913
430
500
922
730
945
184
350
730
593
846
111
575
796
142
184
179
123
326
457
119
583
669
883
534
257
182
419
143
782
538
481
685
29
480
571
992
398
426
331
369
795
958
267
290
380
823
285
673
262
414
14
491
599
890
327
646
623
77
254
316
42
781
652
630
958
556
467
137
484
665
831
690
299
956
443
15
646
11
168
332
774
762
570
943
391
457
614
12
210
951
32
530
367
429
548
848
98
686
311
561
747
827
421
24
435
577
930
960
200
302
973
509
568
184
308
935
401
951
913
510
126
681
150
253
911
180
492
113
353
847
90
71
282
861
139
173
403
725
102
795
756
153
291
781
216
783
494
744
660
769
105
807
627
973
319
953
705
417
337
977
18
148
409
569
510
347
956
230
585
719
708
900
515
649
777
232
866
63
561
508
145
211
526
266
435
924
787
140
760
549
637
88
560
490
263
940
291
626
673
560
861
155
761
889
603
224
98
576
284
230
912
792
587
113
298
386
833
896
831
446
735
322
367
785
874
501
159
751
883
375
584
602
973
973
829
504
760
277
502
42
489
29
240
686
529
450
497
750
956
772
765
685
105
924
541
309
639
646
32
218
143
451
856
670
932
807
315
750
664
468
628
172
936
464
143
700
230
580
915
846
772
293
778
537
715
255
324
276
596
236
895
16
796
430
375
356
336
205
513
609
938
105
404
379
717
698
216
984
533
804
70
145
619
332
615
723
542
963
820
898
772
273
347
285
475
112
73
884
366
552
16
60
355
105
514
936
737
566
428
948
658
551
712
979
216
170
276
367
816
553
479
456
649
132
514
870
220
251
288
436
244
820
897
956
361
749
532
645
109
619
222
194
336
778
267
150
636
204
251
735
296
500
823
392
659
270
263
206
823
753
954
274
987
282
234
311
683
762
450
534
790
206
968
824
298
801
77
938
485
390
746
654
567
162
364
347
187
326
160
740
203
579
228
515
865
942
660
90
709
578
290
481
339
551
362
51
550
64
697
792
533
713
48
151
703
327
642
961
819
201
82
285
463
767
126
346
733
104
488
378
47
58
638
100
113
865
423
393
349
483
932
945
333
660
523
541
563
385
699
411
942
503
515
836
812
159
247
726
268
934
505
518
276
690
113
998
966
587
470
842
124
871
823
787
770
943
437
402
572
133
682
206
83
458
280
490
105
669
655
792
424
79
254
523
20
281
138
958
451
807
112
972
357
267
712
628
238
683
803
464
312
240
605
913
751
89
465
750
933
373
674
726
765
255
29
338
506
268
559
329
433
223
362
240
647
478
58
421
436
194
933
544
394
341
739
159
90
48
582
976
765
81
645
200
864
623
820
654
489
756
483
80
946
211
930
438
746
270
842
680
54
226
920
503
543
173
724
211
283
335
698
685
750
366
807
625
835
291
750
694
194
924
652
443
864
872
381
497
974
952
34
253
538
38
330
705
841
221
288
541
648
103
467
248
617
321
827
22
520
525
37
429
597
184
618
601
370
153
685
490
932
710
660
380
172
648
37
320
159
377
757
393
290
26
327
347
192
759
578
538
982
853
421
584
133
926
166
378
739
88
820
142
174
141
880
382
305
81
593
500
898
627
491
899
554
569
741
732
723
432
134
543
935
121
358
954
540
443
536
371
603
511
616
446
705
401
152
710
604
575
905
648
864
243
387
43
389
896
727
641
130
100
495
587
783
439
524
420
129
175
74
260
446
325
14
407
582
474
929
436
75
62
532
212
647
738
836
624
829
91
826
12
960
442
774
445
926
383
174
750
150
917
159
351
847
230
108
799
159
454
992
155
78
994
790
448
135
30
731
248
190
652
138
216
905
107
616
900
162
172
456
301
713
819
972
163
123
631
580
902
986
487
16
469
170
279
318
693
490
584
39
242
412
477
956
371
642
759
89
455
594
27
765
829
845
327
543
641
780
692
708
201
256
510
504
420
492
113
468
345
662
534
652
488
821
865
395
665
765
493
422
358
522
830
366
77
539
489
250
344
272
308
370
200
721
148
358
869
488
114
17
839
438
802
822
43
355
243
186
372
952
337
893
726
686
813
911
677
182
280
284
205
735
511
858
141
559
975
577
377
117
78
105
823
790
736
342
859
742
959
978
623
491
996
223
338
403
18
898
941
46
213
611
524
90
742
960
952
365
657
80
611
657
156
335
706
934
713
421
757
970
279
405
911
154
642
929
768
632
12
64
706
282
512
119
826
789
274
15
571
999
212
493
321
845
683
983
378
895
771
686
307
372
378
807
392
128
652
553
574
158
174
836
327
130
656
512
484
117
220
369
488
421
958
898
44
542
514
262
382
142
700
947
158
639
835
669
305
603
659
838
154
932
768
366
720
52
617
86
763
782
103
399
620
839
932
286
142
199
326
857
40
429
205
411
731
695
826
29
272
997
981
999
706
25
189
941
560
857
467
694
31
217
467
964
720
631
908
50
159
573
390
753
827
234
649
746
747
987
865
716
46
839
266
85
712
920
617
536
308
120
553
279
847
744
825
905
421
469
418
718
539
738
616
652
297
134
385
760
505
263
981
997
496
920
285
846
894
727
255
565
754
49
978
89
773
871
812
301
588
247
678
655
335
891
188
309
77
607
371
740
50
527
420
997
84
181
781
551
898
899
628
546
168
346
782
282
638
441
783
65
542
796
94
932
959
917
526
423
581
558
110
447
137
439
160
747
210
986
660
771
374
144
77
648
152
86
366
602
519
880
834
361
979
888
850
102
985
51
284
738
515
174
178
28
651
303
412
959
949
222
505
971
871
359
806
457
282
535
780
517
352
781
415
244
898
788
770
394
961
286
84
918
853
696
724
498
227
840
452
492
722
530
923
964
445
405
566
394
145
327
212
880
729
138
617
65
512
479
634
74
308
615
421
630
870
553
216
384
944
209
447
556
799
261
611
655
718
799
195
979
800
234
120
696
763
963
708
482
425
430
741
769
264
82
277
196
732
831
867
205
239
540
829
908
575
705
472
55
307
487
166
831
827
554
431
583
857
16
845
339
751
497
415
241
734
284
369
466
869
932
115
29
797
703
787
621
822
653
286
705
402
874
821
235
870
678
73
563
478
403
101
791
333
549
625
433
631
323
98
583
535
231
983
59
68
743
756
533
868
104
589
749
446
767
900
750
828
982
613
356
805
954
158
865
365
259
34
712
324
216
965
734
150
241
170
768
640
813
742
714
324
329
666
29
168
943
154
251
706
899
456
671
546
215
445
942
752
296
44
267
766
868
552
434
571
511
475
326
272
14
708
795
173
42
102
421
615
894
226
939
167
481
662
101
259
707
459
637
704
754
518
176
664
525
318
455
397
265
605
353
64
287
745
99
513
404
984
865
566
631
930
913
598
753
881
792
313
820
610
542
656
912
206
572
953
461
267
770
704
417
299
338
991
792
702
456
425
322
692
432
115
343
417
958
259
571
577
741
43
739
53
835
813
880
536
614
764
199
573
673
704
234
469
267
765
329
66
236
599
387
409
607
331
368
980
748
697
375
93
119
299
735
541
301
95
888
965
181
673
803
957
157
680
97
289
37
807
477
260
634
525
241
910
740
264
227
30
933
905
276
827
565
337
462
612
420
856
260
488
249
218
669
822
79
753
532
681
454
563
890
28
171
237
896
358
221
340
537
941
135
923
990
472
593
628
918
442
515
461
698
618
157
205
951
993
700
134
744
793
838
522
649
972
555
891
204
582
23
465
213
372
777
152
84
453
47
968
252
615
548
299
989
798
124
147
864
761
852
153
398
338
835
274
277
962
486
309
63
526
406
867
802
987
822
85
869
406
312
897
936
648
566
367
118
526
903
413
425
712
661
509
899
992
341
342
823
343
739
501
77
906
311
20
34
811
315
807
357
738
48
749
519
229
992
303
254
610
186
598
523
989
761
122
958
646
285
627
809
310
825
254
666
191
350
356
154
966
848
515
566
871
567
245
251
925
217
255
38
53
769
459
407
805
851
168
712
709
175
907
943
862
67
973
258
299
397
301
36
219
485
864
105
305
149
694
468
911
601
667
112
908
703
176
847
833
419
892
54
789
577
163
153
816
758
617
660
282
188
256
812
439
66
273
345
89
217
902
709
337
60
951
917
619
26
874
73
182
841
684
257
669
904
71
982
177
100
323
443
32
129
605
58
811
649
147
188
925
992
519
580
362
263
106
565
677
94
116
758
176
120
738
835
291
927
178
710
163
44
12
852
491
82
191
605
966
732
554
899
689
772
726
305
959
899
278
302
87
264
506
903
580
99
651
747
551
438
752
188
465
629
468
208
882
127
572
370
978
678
774
544
228
26
20
556
105
68
214
540
230
571
130
337
443
240
93
977
612
520
360
548
892
622
446
732
280
435
687
588
133
684
481
62
101
29
740
358
474
179
928
746
848
953
517
306
447
734
31
306
491
382
845
926
357
277
944
93
499
679
46
877
895
986
728
925
516
535
587
790
840
776
971
747
912
772
133
848
368
637
579
589
715
358
714
838
164
235
718
182
906
778
79
141
458
554
466
781
146
881
144
519
995
347
458
663
443
694
134
307
618
500
803
22
610
171
239
141
209
594
926
393
107
840
903
445
225
182
575
260
166
468
648
46
552
103
823
977
933
193
890
22
263
282
741
940
446
853
67
983
938
182
877
925
82
440
786
933
483
655
974
288
79
540
900
575
403
73
726
198
834
995
309
83
472
622
606
193
479
463
124
847
560
257
396
863
744
204
249
748
522
584
748
443
294
726
518
682
713
298
444
593
216
921
697
77
729
650
782
575
694
915
862
150
13
639
69
614
919
919
476
933
104
443
241
364
691
170
704
509
459
915
605
105
360
135
512
960
671
808
51
935
501
544
938
119
227
525
485
915
21
699
542
756
295
323
303
668
725
159
455
30
243
564
572
741
90
855
639
330
638
832
409
114
86
837
365
885
634
347
392
505
14
113
645
219
755
37
994
460
639
629
480
651
320
674
394
477
463
557
135
815
781
11
206
653
240
814
66
745
774
538
937
630
729
683
708
203
992
749
783
655
884
679
183
485
911
179
742
481
271
625
560
514
80
898
352
231
336
488
435
341
223
25
165
749
847
570
574
542
863
422
620
12
202
390
347
747
27
297
536
797
675
79
693
594
134
221
454
699
943
314
822
278
801
395
722
475
540
88
882
350
428
87
124
270
890
665
403
523
809
612
835
574
743
611
494
716
115
950
813
935
680
172
679
513
45
174
208
410
801
27
544
260
609
38
641
56
588
554
382
94
817
406
415
774
773
307
28
520
376
318
284
320
258
788
238
240
272
416
963
733
205
779
498
383
440
769
179
195
978
236
917
60
564
958
150
527
617
428
559
898
228
153
975
526
281
354
909
291
731
748
190
240
931
744
276
209
289
748
957
523
527
474
234
380
920
591
904
189
42
118
126
684
717
513
954
510
713
962
196
987
968
10
796
563
644
996
628
297
458
668
945
601
89
435
801
319
447
214
280
339
586
379
581
342
448
260
698
690
487
913
653
330
214
515
395
335
770
673
145
445
786
683
278
229
404
600
599
193
916
969
112
304
497
387
362
130
888
684
863
942
250
697
649
366
483
723
516
501
577
688
816
563
787
327
716
831
720
268
259
730
323
107
254
111
696
780
29
54
14
815
341
285
729
583
596
732
590
819
782
314
814
22
844
755
766
287
221
472
813
874
534
940
454
860
347
512
729
107
583
527
246
915
488
134
65
948
915
53
415
626
801
434
153
24
673
720
753
307
100
955
410
608
969
269
964
583
934
449
801
677
284
606
54
833
391
249
353
268
748
69
772
853
916
879
495
21
812
188
624
61
167
196
947
823
47
578
806
135
658
551
228
412
724
278
685
249
304
440
595
427
756
279
806
303
714
374
902
50
693
704
804
516
608
446
791
984
486
563
696
960
426
402
360
766
480
62
962
696
615
57
544
297
959
676
736
494
992
344
369
485
484
449
592
701
834
317
400
885
869
251
608
41
177
348
798
133
127
371
277
412
575
857
481
85
559
646
555
664
284
183
782
622
666
166
841
385
914
29
366
997
615
312
827
414
215
666
299
260
632
370
37
740
561
803
954
15
810
826
443
15
485
125
491
316
997
147
935
85
942
649
725
408
426
451
800
213
859
706
21
770
838
679
267
538
458
317
179
301
197
56
306
652
140
572
577
600
18
231
451
34
56
857
169
487
393
56
679
127
37
901
564
258
836
614
830
512
649
930
758
116
755
960
314
740
495
529
159
283
880
509
724
770
559
685
829
135
775
228
611
830
722
717
380
408
606
990
62
512
41
275
315
478
44
708
372
973
431
272
96
567
87
531
707
258
754
408
432
115
279
269
527
133
741
503
923
615
593
964
666
252
104
43
790
822
717
161
257
467
276
513
273
757
547
581
525
746
573
636
310
828
589
708
987
419
555
748
228
258
778
470
214
394
50
195
667
368
119
504
852
511
386
869
208
563
738
524
667
593
399
10
148
65
477
338
915
274
129
290
592
222
332
291
184
626
584
655
297
487
964
871
888
798
379
384
492
913
275
844
874
413
431
251
38
167
349
686
59
957
379
90
332
16
593
904
548
755
276
347
412
900
530
106
294
465
34
705
44
403
638
957
834
655
909
157
318
670
647
580
946
895
166
595
298
400
247
968
905
772
197
582
721
861
518
555
593
342
652
633
244
957
970
596
369
53
399
346
510
196
488
239
121
250
127
555
979
654
513
982
229
931
174
30
375
62
57
672
995
392
916
812
989
588
342
963
943
210
215
888
251
579
900
721
743
598
875
416
602
428
906
927
328
891
710
385
108
448
752
328
396
829
52
459
968
159
414
310
295
117
767
203
908
576
554
392
642
95
107
222
145
353
732
642
956
24
951
858
562
447
738
976
47
808
922
375
667
787
642
380
181
847
155
685
102
461
531
402
776
330
734
328
99
696
563
554
707
145
352
494
291
743
90
121
680
996
890
807
765
181
826
39
870
620
435
938
500
481
68
817
716
370
408
172
459
976
740
827
195
402
116
247
366
822
143
444
753
922
58
59
158
428
134
639
225
76
286
277
179
158
27
457
172
861
537
759
972
643
790
185
920
222
689
477
332
264
513
335
476
423
96
735
791
807
256
164
616
360
257
904
715
804
29
384
47
112
786
388
278
127
825
748
557
467
727
146
331
95
843
20
835
629
884
723
252
996
293
558
988
409
121
399
198
324
867
650
769
399
619
135
493
869
286
792
383
977
226
602
449
782
531
455
976
124
658
974
356
167
725
888
989
498
581
417
418
682
571
389
402
207
960
232
59
340
80
257
666
674
193
207
116
347
168
641
515
102
461
905
597
937
804
678
71
328
624
414
512
322
612
46
861
995
802
653
268
700
360
258
817
145
182
678
124
407
974
751
951
622
667
911
403
380
449
290
601
340
719
863
987
841
229
368
860
108
729
464
792
221
634
829
908
512
599
125
730
338
86
224
225
986
701
944
776
955
513
152
98
576
149
811
441
42
891
764
670
42
727
637
801
876
548
934
653
961
847
379
842
682
403
345
366
103
747
777
656
753
925
476
36
230
388
131
155
111
588
525
153
14
913
53
103
176
121
577
960
280
120
425
861
854
461
107
326
491
112
129
847
430
546
388
541
497
855
438
480
917
652
516
161
80
668
93
547
360
777
713
499
34
292
188
196
193
683
481
73
684
897
83
995
241
448
172
520
572
467
484
409
426
772
132
203
218
383
210
506
704
97
909
892
589
463
562
704
122
835
278
157
83
209
271
970
721
744
198
239
884
634
276
114
219
770
214
850
481
357
747
123
846
439
558
255
911
107
973
628
15
564
590
289
174
798
750
728
268
749
245
80
190
665
943
448
51
160
797
699
610
198
930
520
478
691
663
337
64
727
634
291
999
852
49
942
522
394
341
108
177
319
606
640
47
765
239
27
30
346
777
857
725
419
970
371
671
820
960
59
483
594
662
812
926
369
441
764
169
431
656
205
502
122
308
588
875
403
387
23
17
935
99
741
788
482
436
387
229
777
552
686
778
350
536
43
836
867
422
84
833
481
158
604
294
548
161
119
824
656
324
904
22
344
838
178
411
444
501
398
838
249
600
828
765
796
153
228
914
599
299
131
401
357
85
254
632
33
154
412
858
657
828
924
652
666
608
446
947
259
723
413
945
690
391
112
752
11
349
51
616
121
544
545
415
630
947
536
582
886
722
393
636
37
685
892
449
193
82
618
335
974
381
602
906
394
917
948
819
343
659
569
353
492
682
919
547
107
496
219
55
196
479
250
201
555
358
85
883
562
674
215
65
19
817
714
575
148
514
158
624
786
377
522
166
93
768
646
683
888
730
623
939
731
172
380
10
428
536
278
590
535
614
806
85
732
349
145
36
971
460
814
759
760
425
793
914
268
372
486
488
216
858
113
403
483
56
656
841
687
169
141
569
817
528
954
391
697
472
207
242
805
139
814
163
788
962
557
769
977
72
925
74
669
155
427
323
208
361
285
824
53
469
431
422
573
561
102
659
852
228
788
220
22
102
789
250
732
521
262
828
539
86
283
763
618
126
408
895
512
26
774
742
366
134
690
31
968
123
730
710
605
850
346
260
493
520
708
728
935
96
936
209
206
874
848
112
333
444
176
840
269
482
712
490
22
160
219
390
835
625
573
100
151
177
781
740
611
673
743
471
138
432
526
134
996
355
30
592
516
318
240
494
733
557
487
865
250
810
147
377
497
534
155
137
172
628
184
670
78
430
575
527
141
114
481
127
801
413
711
143
732
536
777
806
798
221
833
193
500
431
147
25
210
567
297
560
771
914
81
790
319
149
983
744
194
705
409
187
317
989
638
556
334
711
608
191
704
659
31
310
816
963
591
553
33
761
100
727
129
347
341
269
662
272
968
837
258
330
921
766
359
962
691
645
495
986
86
575
152
196
24
729
941
625
761
858
442
420
528
517
295
723
574
488
46
62
303
990
662
350
404
521
298
124
267
374
577
633
429
957
926
234
532
387
229
792
813
222
964
409
690
49
116
859
994
449
739
234
945
651
181
66
470
45
210
181
794
244
67
701
577
695
584
327
408
107
765
244
647
121
311
162
802
123
82
901
837
319
45
23
433
740
984
100
259
901
454
874
429
789
734
676
822
229
901
239
347
975
193
48
910
658
31
273
526
826
431
325
995
503
520
948
340
437
135
126
452
706
597
333
978
801
232
246
787
30
625
626
890
57
385
596
323
287
208
664
292
600
744
682
934
236
723
823
741
690
955
983
964
834
472
220
429
281
324
339
590
715
48
312
103
285
441
964
971
438
876
605
647
92
735
685
629
841
380
394
71
725
935
850
20
858
845
824
783
214
242
199
859
764
195
446
407
508
277
58
907
251
178
771
758
355
78
933
713
475
934
905
808
841
823
881
204
205
237
270
947
441
648
690
412
840
210
51
467
989
837
240
681
693
489
510
773
47
509
862
466
128
300
227
669
105
847
517
848
590
52
925
507
491
302
406
490
196
731
173
863
332
387
221
297
959
69
135
266
174
373
84
68
66
474
231
925
729
864
818
333
342
520
640
965
777
430
611
97
462
917
421
423
108
723
311
459
227
261
894
43
710
274
368
62
78
694
443
811
757
914
631
754
877
130
541
38
548
485
146
707
552
62
324
861
838
497
793
70
386
426
398
150
127
224
607
881
720
220
185
515
257
742
522
171
134
327
911
825
961
958
210
346
397
695
533
322
943
821
955
811
433
963
459
578
671
540
248
418
681
134
126
572
409
196
59
170
994
377
620
96
673
953
97
257
693
846
368
236
977
994
486
468
239
87
504
30
584
239
660
521
209
724
193
582
276
960
714
374
81
142
315
484
416
69
561
467
550
55
124
656
610
159
891
600
198
913
225
226
281
824
743
817
134
921
36
571
39
834
185
509
575
407
977
295
686
994
323
540
408
858
340
95
353
251
47
138
781
141
194
687
391
555
192
820
257
599
927
249
258
391
551
709
691
303
312
683
598
90
239
452
55
944
766
408
895
566
680
136
174
616
820
38
899
144
748
646
307
179
781
511
685
616
786
579
440
633
303
264
941
490
202
512
943
214
974
251
577
999
517
703
44
879
694
356
688
827
102
942
59
892
520
808
554
249
721
817
75
256
234
342
410
67
753
236
262
424
447
886
302
257
63
151
515
950
628
737
630
492
936
463
392
227
687
432
299
610
92
168
54
573
854
134
818
492
926
326
612
867
521
43
93
741
604
694
261
417
879
862
64
288
235
96
925
297
433
785
531
992
627
302
979
342
149
100
867
351
152
846
534
773
760
78
412
361
916
109
770
348
851
986
493
361
103
631
16
424
100
357
128
697
302
129
750
661
749
409
679
648
201
734
939
231
790
355
617
191
672
372
804
773
825
687
628
903
213
268
799
201
302
308
540
648
100
201
609
944
521
592
264
142
793
251
718
151
755
993
117
694
645
470
688
282
584
202
536
841
555
307
42
301
84
692
330
734
299
893
233
445
199
499
114
831
168
470
202
557
827
81
423
697
680
304
604
398
734
970
15
713
529
747
22
479
822
14
742
181
513
293
275
640
151
790
883
805
924
951
285
336
976
960
336
498
581
24
341
136
465
938
671
213
194
233
809
937
470
307
10
160
318
634
687
318
281
359
186
986
676
559
489
410
577
392
958
745
693
137
25
764
91
826
407
747
648
78
943
33
886
257
788
239
930
59
613
520
570
842
787
696
218
894
185
187
258
645
98
122
920
354
950
18
193
76
473
143
555
382
406
132
471
681
275
906
273
482
157
744
946
980
492
400
204
999
770
939
85
845
517
965
89
404
822
371
145
615
595
146
613
58
767
133
861
978
267
298
853
777
862
266
863
161
190
618
246
48
694
89
306
20
21
786
157
606
480
485
120
691
482
810
288
630
695
742
740
784
937
606
302
223
505
140
797
701
251
584
696
617
713
171
592
887
574
466
539
951
60
252
467
172
408
806
146
422
867
125
143
815
29
493
579
758
686
466
952
382
580
221
789
566
886
853
309
140
402
319
911
233
891
473
691
315
415
34
646
599
233
217
643
442
360
766
778
948
406
186
725
322
17
633
248
536
163
165
161
972
388
163
522
421
525
716
243
275
654
976
796
567
893
114
333
416
123
617
191
489
795
428
416
317
444
59
321
333
226
246
502
906
673
16
190
754
109
181
547
940
175
106
97
359
147
567
373
549
101
85
665
425
672
789
520
539
15
707
778
884
715
459
280
80
500
62
987
70
352
439
679
78
138
537
462
980
792
963
245
360
981
47
655
464
874
848
385
336
256
349
770
362
39
521
82
912
582
900
688
531
306
426
820
843
535
946
949
367
192
469
622
275
247
818
385
997
163
708
789
728
881
639
985
687
827
890
847
318
175
911
614
536
822
109
415
847
20
452
251
722
828
114
728
271
289
686
713
392
394
719
367
36
565
636
230
570
479
352
148
647
369
268
400
689
265
292
702
736
93
393
118
68
939
681
453
511
982
563
309
141
603
32
367
197
656
948
206
459
182
395
479
768
699
509
573
765
244
89
735
637
929
987
528
426
383
763
686
190
217
540
154
730
113
564
386
894
379
828
32
809
920
636
639
447
157
255
859
930
698
433
234
738
972
643
92
34
557
450
687
301
294
287
619
704
572
966
34
444
806
49
573
532
113
265
226
395
438
836
981
546
62
169
145
43
663
236
115
585
91
972
837
266
88
311
342
375
553
643
729
282
17
551
809
275
829
736
817
948
346
35
335
19
243
592
727
345
197
102
803
525
116
286
584
837
933
155
335
540
450
263
519
363
91
193
74
354
284
817
423
896
562
453
609
448
355
586
289
368
279
456
207
286
740
160
878
86
760
623
941
673
135
940
463
609
176
287
738
124
745
780
817
18
381
822
491
641
361
492
285
519
584
870
855
566
544
653
669
59
669
38
846
85
510
738
353
136
386
131
883
693
500
242
992
829
183
420
614
16
381
486
294
774
736
403
642
836
212
271
523
637
822
864
422
933
937
955
133
893
908
630
884
402
503
377
328
898
897
874
402
31
198
857
555
860
708
122
363
553
696
219
602
153
999
810
710
250
83
401
169
383
825
535
644
918
83
128
378
264
466
920
475
789
114
267
103
80
256
311
783
656
294
978
852
788
844
919
821
520
139
612
432
404
998
324
400
247
678
303
404
923
702
273
836
788
449
932
971
161
535
356
419
219
170
652
474
556
885
605
135
15
35
816
45
505
604
448
14
619
550
863
216
837
259
609
220
683
859
130
24
299
817
253
897
958
452
269
490
421
147
123
688
848
54
135
331
312
359
842
16
261
721
311
560
390
983
385
431
512
38
780
606
201
802
683
814
256
646
147
506
990
309
175
750
713
985
885
86
864
174
161
551
758
423
38
193
58
552
502
97
411
415
855
934
234
370
386
782
262
380
970
632
719
611
679
152
67
86
553
810
353
404
524
387
11
915
290
863
250
649
859
147
410
493
506
120
272
750
882
616
12
688
705
275
314
565
223
307
702
461
915
488
856
87
975
558
201
27
282
973
855
53
15
844
411
273
84
977
133
581
672
732
140
979
236
546
36
242
372
928
831
663
220
201
708
124
704
859
877
376
897
340
590
148
873
641
984
410
39
980
978
414
912
826
713
385
963
113
786
163
43
577
405
900
749
196
657
834
851
178
883
312
666
199
902
838
961
372
202
605
503
67
243
606
851
476
823
697
125
14
495
597
221
43
404
45
438
40
339
530
879
56
622
803
233
16
918
365
490
639
502
439
16
555
937
843
92
757
467
876
484
767
62
859
570
240
609
65
776
161
373
428
411
579
897
358
234
232
972
251
352
284
482
34
605
938
278
858
329
899
984
728
537
397
720
62
908
156
353
667
692
327
664
505
971
156
284
649
803
569
454
260
622
549
919
131
521
964
16
550
563
366
451
541
309
959
244
462
622
759
249
34
183
430
362
101
331
644
563
792
346
601
146
36
11
708
656
928
974
374
322
203
301
798
517
979
780
358
888
432
83
101
696
776
142
639
722
788
989
273
556
91
20
787
440
509
922
678
145
800
455
430
711
300
42
598
690
667
470
658
206
714
751
688
634
892
60
308
214
703
104
509
456
730
894
636
509
742
416
921
111
565
110
818
850
793
381
561
396
706
313
620
399
871
535
511
259
609
75
915
120
681
822
129
399
690
361
121
525
512
187
325
525
754
780
636
481
969
307
567
709
634
258
836
338
919
143
42
475
954
648
861
815
122
524
947
328
791
15
688
423
434
20
597
636
824
668
200
508
184
816
919
724
860
634
139
768
596
512
849
170
717
591
294
930
165
43
530
708
368
208
235
696
668
993
908
669
870
584
886
831
152
268
312
406
875
57
799
158
913
444
80
560
697
685
551
913
866
598
727
723
780
717
23
156
767
896
210
488
127
246
407
531
479
463
738
539
807
296
849
825
960
368
893
226
22
305
942
855
916
659
490
532
750
914
163
557
371
546
933
415
202
627
303
485
477
686
328
671
658
781
177
780
881
656
555
841
597
922
506
520
318
689
153
521
186
159
950
986
506
859
827
320
601
518
190
891
189
423
487
522
934
116
966
289
906
581
912
80
596
302
28
637
940
376
175
38
363
379
117
162
683
129
873
757
250
610
505
83
812
244
387
809
785
12
548
791
692
301
885
666
541
932
960
897
582
404
243
775
996
76
75
748
357
767
719
366
676
734
683
951
973
990
843
199
467
217
880
399
393
603
513
356
697
719
66
583
440
670
628
33
349
101
92
64
901
192
440
183
805
886
801
931
801
272
281
618
471
363
504
416
308
707
270
842
29
124
425
934
538
410
703
663
556
893
85
765
746
386
187
38
462
810
990
870
558
235
588
766
959
366
986
33
710
497
806
199
16
577
777
371
209
531
910
390
551
759
892
624
788
483
26
203
226
360
662
614
516
205
624
864
429
753
624
639
39
941
308
302
328
28
824
836
907
731
846
579
516
106
237
708
636
719
452
414
574
642
499
457
916
596
237
702
401
58
444
685
51
174
710
217
90
11
649
971
415
931
914
235
589
207
396
867
778
420
97
874
436
257
83
38
92
395
367
105
711
253
926
353
26
919
761
975
814
584
449
797
125
639
976
359
404
190
689
259
391
171
518
110
87
975
759
265
853
469
20
677
709
531
124
974
539
494
936
323
150
940
361
910
692
161
856
115
763
433
629
737
906
760
307
935
105
503
601
330
734
964
335
880
247
426
745
631
970
977
961
464
370
442
321
886
613
658
556
444
425
692
206
423
405
306
408
772
212
280
128
489
921
589
935
96
676
808
642
618
146
594
310
215
177
412
599
160
640
351
562
418
730
14
524
344
922
189
976
737
410
529
836
70
475
390
173
270
212
219
300
976
212
328
738
87
690
291
751
735
643
878
157
288
431
51
67
995
66
362
446
939
978
406
145
939
20
781
451
707
431
416
900
818
648
784
718
249
244
793
414
899
986
161
355
686
531
675
483
587
704
26
274
557
773
224
801
709
677
354
639
657
936
686
308
348
743
974
499
173
929
97
118
150
833
707
392
51
826
450
993
186
516
103
610
559
327
551
340
870
536
26
216
938
929
598
886
827
268
838
701
343
292
573
797
733
542
43
363
191
333
35
518
24
670
111
333
839
858
656
218
934
587
210
966
925
608
137
108
572
824
26
313
639
976
642
409
692
390
665
26
831
26
986
839
722
535
592
998
84
117
80
583
379
818
557
277
41
671
950
548
195
973
577
103
254
978
89
78
23
209
296
849
425
404
424
312
97
525
964
869
502
972
588
380
903
232
445
82
860
415
164
794
82
498
752
899
136
246
480
559
126
712
225
502
580
602
827
516
185
19
577
533
103
752
273
548
770
119
644
473
263
733
346
361
119
567
866
427
65
869
681
437
285
412
548
668
258
994
107
455
16
473
313
685
805
359
722
610
371
508
807
243
855
493
577
258
736
398
21
981
108
383
214
38
144
744
777
125
762
999
602
350
777
269
524
775
583
718
932
104
293
24
667
204
380
420
750
270
738
613
914
818
880
802
406
306
665
720
177
643
247
775
50
158
803
752
912
292
41
666
130
272
56
198
20
987
147
926
480
853
959
682
876
923
246
945
671
664
307
22
273
613
139
909
855
210
217
984
613
720
857
33
984
171
264
351
999
172
881
211
541
372
742
999
638
439
480
768
262
356
264
506
961
804
159
139
133
149
902
552
270
338
188
204
630
163
209
336
211
834
13
474
609
116
844
220
697
507
188
411
613
193
291
857
773
681
280
434
931
694
549
807
52
306
338
587
795
514
14
248
309
414
567
816
347
786
915
503
706
166
96
874
83
207
459
972
895
664
995
68
973
669
505
124
610
36
243
398
60
53
32
323
129
834
718
525
873
275
481
576
356
437
916
569
513
821
627
294
498
321
343
852
309
995
453
702
89
344
496
978
86
756
462
554
876
822
550
904
919
403
384
804
838
36
733
712
545
446
217
221
464
775
958
224
340
933
673
750
741
480
821
12
882
478
489
479
436
303
138
983
525
376
248
670
273
919
381
817
97
273
329
189
733
325
167
650
834
469
913
775
619
375
289
647
916
929
550
946
907
406
555
143
511
697
415
841
616
350
260
992
731
144
572
908
394
221
86
403
392
645
166
337
828
268
984
677
890
335
450
804
631
447
822
744
267
69
464
923
689
84
514
859
451
210
431
416
479
681
150
810
233
735
383
808
39
444
437
57
983
935
371
594
54
439
199
871
954
817
126
791
863
134
793
269
958
349
964
750
566
279
783
870
475
343
740
891
964
53
954
872
661
322
882
43
381
748
555
830
473
987
101
134
464
137
867
399
188
534
555
81
427
971
798
96
275
684
569
729
667
667
607
957
541
782
361
899
775
976
779
256
500
82
891
104
735
339
142
45
196
960
417
110
504
862
697
820
154
341
37
39
837
178
324
955
689
685
604
663
877
504
823
157
159
516
777
388
625
293
163
351
167
578
899
510
426
78
299
313
896
712
561
29
734
693
169
101
471
471
971
392
129
643
184
756
812
94
599
274
487
503
189
103
619
27
227
278
349
644
151
812
292
960
222
404
944
597
23
898
682
429
656
862
982
375
493
772
441
459
155
205
448
42
320
764
493
658
757
495
97
377
16
655
505
166
980
516
575
153
905
409
753
410
786
26
649
980
12
24
959
656
119
669
740
341
636
674
198
55
752
355
752
254
837
361
782
161
941
256
477
669
183
608
751
490
667
478
61
177
433
278
779
548
590
372
837
203
573
128
793
54
726
138
635
122
22
767
778
130
946
217
814
580
208
304
48
883
911
736
354
883
757
460
526
430
280
871
70
740
641
617
223
118
752
79
169
29
856
44
534
539
967
270
510
113
491
521
200
816
180
363
231
158
874
402
985
116
197
229
271
89
361
594
614
727
358
344
37
247
437
981
28
532
637
315
642
965
515
955
845
131
250
127
946
395
541
291
930
627
889
973
907
770
640
765
239
404
327
974
186
834
28
881
268
246
767
331
187
920
34
486
596
476
597
915
686
207
618
830
653
996
480
436
163
924
750
981
548
693
983
841
592
379
235
477
60
561
143
472
189
863
513
952
552
894
898
981
762
242
917
824
658
582
890
396
220
683
826
616
536
755
456
224
252
147
984
933
379
852
211
578
728
488
190
697
235
112
71
748
994
86
657
902
395
268
980
996
271
123
173
813
596
458
568
179
92
265
105
482
259
137
995
911
171
461
217
746
182
98
419
219
749
579
139
563
13
80
675
468
681
29
881
942
809
962
192
826
228
545
881
352
35
877
253
226
797
730
829
220
289
919
45
158
78
242
676
987
567
402
450
36
772
377
661
189
649
121
687
290
500
970
850
291
98
41
492
159
525
477
200
443
860
905
943
35
953
904
622
568
79
697
791
895
784
478
968
967
936
508
391
824
599
122
565
63
693
745
598
666
776
440
282
954
162
954
518
899
116
656
40
665
704
301
166
20
194
637
901
836
857
185
653
424
225
188
295
786
753
144
211
722
876
526
778
498
759
200
225
483
740
597
900
183
515
268
31
133
834
206
228
523
294
924
648
786
995
451
93
362
995
302
140
708
241
478
273
557
960
967
885
729
942
628
514
873
586
352
527
728
764
658
465
827
911
535
720
666
951
13
336
762
843
589
798
970
749
664
330
684
99
917
722
99
181
649
909
968
81
454
352
760
106
266
494
206
486
729
819
895
511
67
959
970
417
555
520
900
838
908
982
104
198
653
957
275
987
262
770
355
238
207
562
56
906
484
303
931
179
103
664
987
770
848
399
995
496
745
456
289
865
146
552
97
427
201
629
783
741
887
700
666
986
896
374
770
911
406
108
278
741
264
521
405
641
585
739
618
694
729
678
647
788
432
945
883
279
578
115
240
109
517
897
185
678
254
894
152
354
915
443
220
720
181
839
72
400
570
196
991
411
603
564
253
760
496
116
496
17
938
886
830
29
525
177
103
133
313
77
640
667
94
503
114
458
660
62
97
273
301
768
350
832
60
55
892
35
624
718
120
545
658
654
696
395
203
287
460
933
413
445
800
343
935
47
143
48
190
244
295
562
56
897
59
932
605
599
858
740
988
386
691
522
645
768
927
361
532
710
579
141
739
507
90
911
315
637
213
713
326
924
522
765
566
577
575
999
880
640
588
412
150
842
720
843
804
530
934
997
614
327
786
185
608
953
93
50
705
335
401
556
947
21
98
87
211
77
468
672
625
755
985
35
281
529
717
648
293
218
176
850
311
629
445
20
640
895
606
344
259
296
168
111
777
798
442
209
530
912
25
907
305
748
553
484
185
260
755
532
976
132
964
998
724
798
840
559
491
497
171
210
98
648
433
304
662
600
165
50
650
403
765
676
182
971
130
256
536
922
271
556
621
479
30
150
127
632
15
315
734
926
769
80
816
154
621
916
278
68
424
505
85
152
173
955
554
206
446
438
378
169
404
884
937
545
285
870
823
489
856
313
846
316
111
158
720
160
796
821
580
239
269
747
590
311
710
412
333
991
959
167
589
661
721
182
470
895
550
743
447
365
714
239
135
540
829
522
251
994
827
607
362
635
848
470
830
766
106
985
477
139
856
433
542
247
630
155
252
417
546
653
941
355
872
703
569
845
172
320
583
132
864
845
494
819
807
94
829
815
240
930
410
527
408
661
289
632
539
306
743
856
265
633
414
969
880
112
821
533
643
55
16
442
604
443
667
514
666
512
615
959
180
846
162
193
502
279
417
919
764
94
424
715
836
134
43
925
121
682
808
17
644
586
296
221
92
785
519
269
138
134
15
821
342
58
476
989
323
308
440
358
260
399
393
925
526
225
416
917
540
461
313
795
991
778
26
121
968
264
608
183
852
945
63
559
561
488
337
320
27
385
402
442
903
458
206
272
335
263
37
99
854
690
64
151
311
197
36
422
862
224
14
460
882
906
334
614
715
796
816
934
570
376
145
288
751
679
447
341
411
539
769
953
458
538
637
79
15
864
157
567
906
892
604
662
423
873
949
237
535
751
971
848
99
140
535
613
195
444
535
354
847
823
453
780
153
900
322
671
900
790
235
562
31
996
469
65
90
387
400
293
58
456
288
777
780
34
772
243
299
397
543
261
351
351
264
775
178
393
585
111
589
943
895
657
87
279
524
511
867
495
656
829
675
587
771
142
876
147
849
129
508
155
66
325
626
990
560
182
74
984
262
242
340
209
663
988
199
154
278
33
808
56
534
206
222
16
228
259
684
88
197
31
596
779
428
271
511
535
864
481
978
94
778
708
371
490
851
399
916
575
20
681
572
113
590
761
314
919
345
841
840
627
600
226
888
376
292
830
572
75
871
532
826
136
378
188
839
233
486
817
926
870
576
348
628
138
265
589
545
185
326
743
767
361
534
404
12
269
936
867
912
690
379
827
158
653
360
448
580
986
176
205
574
930
509
965
348
209
449
367
719
390
388
682
813
941
653
672
882
325
381
35
815
588
305
316
121
490
578
583
216
519
647
110
879
948
974
611
57
352
483
865
516
33
480
365
662
453
208
180
534
573
345
283
636
657
53
462
521
520
786
213
435
878
511
672
551
932
919
795
76
373
340
79
10
809
300
688
33
427
933
40
303
679
81
664
812
701
840
883
900
182
470
513
324
969
304
679
167
60
287
477
355
879
246
992
982
191
862
681
636
91
537
567
191
330
663
942
520
634
399
291
315
494
796
892
827
756
474
961
690
649
559
369
599
640
726
492
290
553
826
258
638
59
803
386
276
570
532
747
292
145
689
301
807
563
434
666
434
516
695
493
814
711
315
931
138
145
804
53
697
188
977
228
891
751
273
855
772
631
255
787
852
880
921
310
102
517
749
544
634
915
643
673
741
988
472
301
870
362
11
171
240
479
383
448
33
964
896
23
857
356
940
429
835
787
475
321
643
450
196
264
91
426
238
314
454
43
987
559
987
774
342
494
465
995
406
526
787
580
374
136
157
975
547
197
15
582
453
248
558
87
760
323
54
11
651
569
71
973
50
547
784
952
48
892
701
371
591
845
941
621
624
17
43
416
28
934
12
923
173
511
978
982
955
340
750
762
123
66
615
197
249
673
600
364
168
810
374
32
273
70
120
347
599
123
169
464
904
675
667
13
850
907
925
285
635
317
45
983
387
768
418
493
267
305
474
332
234
745
183
105
194
448
446
721
935
360
657
523
56
741
97
329
393
648
977
980
636
552
470
218
805
677
827
617
636
856
199
495
709
122
912
216
574
516
878
439
475
852
213
852
541
980
480
21
862
669
969
802
793
74
320
908
544
821
776
310
63
697
535
389
698
269
909
568
182
938
232
681
846
73
797
51
166
577
994
723
442
255
199
162
42
997
642
240
168
678
58
624
193
310
404
688
135
676
627
131
236
275
364
865
831
896
425
866
415
230
742
933
871
246
491
968
187
186
592
685
671
640
850
892
367
967
380
971
760
938
110
489
179
606
688
919
804
979
995
634
320
977
859
408
137
610
741
689
581
225
533
460
992
22
847
996
311
23
77
318
741
932
858
477
930
541
859
329
232
192
684
92
399
804
302
142
121
913
415
69
455
268
348
830
612
774
239
898
497
156
880
637
157
114
116
821
609
29
937
624
515
719
403
66
743
667
601
909
282
939
326
669
923
237
688
251
608
745
496
459
684
801
598
320
392
463
330
352
182
20
209
885
616
298
675
351
813
208
354
241
105
356
314
383
649
710
431
87
577
720
595
750
891
174
48
457
57
893
160
359
342
840
830
742
139
623
142
374
682
621
545
538
234
287
98
817
818
581
841
18
769
924
397
347
789
36
480
469
330
780
811
390
843
195
32
242
398
565
637
871
502
211
14
562
779
856
875
473
789
381
824
291
160
589
820
912
299
472
338
596
254
308
831
440
579
540
256
535
779
516
261
955
142
167
294
357
700
880
24
384
113
518
115
636
208
653
529
263
463
653
968
921
332
340
719
896
221
903
58
823
995
870
215
818
971
947
449
925
432
462
720
890
706
437
125
762
127
692
349
94
373
572
258
369
987
323
140
746
527
800
798
800
165
681
90
156
763
279
191
688
809
246
927
826
229
798
320
101
675
710
751
754
205
845
182
112
482
314
236
168
559
231
953
935
773
644
310
431
695
940
26
24
84
847
148
196
649
762
686
674
243
22
809
337
844
491
292
602
712
670
904
728
153
411
156
349
880
513
970
22
402
213
739
932
417
308
309
44
275
494
150
115
329
50
418
428
553
499
778
664
129
168
810
895
162
400
868
950
392
654
492
811
773
706
120
638
207
811
361
544
277
907
390
817
55
800
933
281
589
833
618
765
57
934
239
623
769
136
104
857
546
621
800
446
256
991
782
500
784
907
826
695
204
768
703
231
892
481
778
875
633
328
540
416
352
846
703
224
55
662
355
680
158
551
280
525
394
98
42
305
591
146
661
934
166
285
770
124
651
791
449
524
930
233
573
464
283
16
34
649
692
503
353
762
124
676
144
659
826
682
482
654
215
360
676
227
839
605
221
925
284
844
24
421
961
248
934
791
981
787
971
662
258
784
784
679
627
781
36
305
129
965
230
770
652
752
684
108
973
833
466
491
974
65
35
784
331
325
294
405
224
740
792
641
805
297
475
392
642
716
781
452
938
817
65
348
500
424
965
622
101
614
173
425
428
955
212
923
724
521
673
264
243
125
792
992
317
237
277
388
115
482
599
160
564
662
504
43
808
231
163
254
707
209
140
553
617
678
76
780
196
422
566
270
618
843
503
855
611
617
250
178
939
734
159
741
448
890
939
434
228
821
57
463
267
593
26
195
579
75
844
711
252
153
756
218
863
433
85
114
824
762
990
678
977
834
834
842
869
498
106
403
57
907
118
940
207
469
858
908
514
958
172
716
738
719
365
949
148
764
21
149
980
889
70
41
515
677
261
991
330
776
115
156
231
677
753
581
140
426
582
186
521
788
199
40
917
484
894
930
994
477
715
585
951
152
248
994
716
188
564
64
197
492
537
350
304
230
56
639
911
686
502
138
886
705
369
638
394
984
811
566
835
731
700
549
785
750
808
629
702
274
734
255
691
203
172
594
19
509
226
301
601
239
378
484
647
120
260
142
573
954
981
487
427
407
714
967
888
973
389
351
356
608
418
649
657
914
99
491
435
956
295
202
185
351
357
486
88
76
751
355
29
695
619
293
564
364
121
465
897
21
784
12
515
148
384
471
74
516
384
423
347
822
668
972
961
468
488
666
434
611
928
781
110
453
437
590
912
730
939
861
780
394
430
20
821
124
944
357
246
750
40
331
687
402
747
325
420
69
539
260
38
728
741
634
662
486
99
602
29
515
329
26
169
326
976
686
671
414
397
343
63
20
710
895
774
948
370
591
734
916
500
549
364
517
815
396
976
437
686
149
324
70
639
650
610
235
879
251
737
332
225
52
549
867
283
188
732
940
790
58
132
294
936
382
139
450
902
401
719
199
387
629
868
637
837
761
156
17
716
983
701
103
170
42
831
39
936
470
628
624
483
184
344
997
163
641
458
431
44
211
997
717
682
353
144
390
160
217
320
278
211
152
406
517
367
309
330
648
76
47
441
562
370
110
990
378
531
352
469
867
551
425
939
932
760
771
750
180
546
433
233
155
431
684
451
312
325
851
204
316
968
643
778
668
19
169
600
883
943
967
828
445
132
710
734
758
17
800
915
738
754
245
658
750
777
989
529
320
972
52
850
553
865
187
910
980
658
104
567
378
589
33
924
476
310
294
646
883
875
538
30
154
486
478
713
935
462
924
45
318
624
477
55
312
130
539
942
40
226
917
83
198
518
464
914
582
661
959
658
42
735
410
457
10
457
767
618
623
245
580
796
960
831
907
438
933
263
256
961
551
627
932
856
741
578
202
342
139
996
488
283
965
541
761
596
579
814
416
745
300
196
49
547
598
74
993
421
481
986
997
634
827
942
891
413
963
342
844
817
654
589
819
253
89
278
454
552
830
572
272
151
549
611
587
198
831
367
92
745
473
943
946
508
37
208
457
921
515
101
685
964
112
567
26
705
892
498
162
116
793
180
206
723
189
485
64
578
553
781
222
644
953
869
434
259
910
446
333
49
741
614
530
897
454
37
750
427
470
775
37
718
58
500
861
83
624
219
574
813
998
170
264
777
398
977
288
617
146
934
103
989
936
865
300
679
368
476
692
388
564
964
34
859
960
893
739
946
162
166
660
288
789
774
338
929
155
532
36
980
32
535
457
178
541
60
332
751
533
389
408
582
176
389
146
499
563
712
633
20
730
672
836
109
522
64
847
171
584
177
112
359
714
835
510
316
882
722
937
823
345
660
145
191
97
35
200
378
767
331
137
331
80
325
538
58
210
939
66
611
965
882
691
590
582
898
723
757
562
63
752
187
915
409
420
591
820
279
14
838
610
626
97
312
330
951
372
399
474
637
159
385
292
268
187
170
533
278
409
861
904
837
187
294
602
688
98
909
619
802
892
932
635
815
456
12
666
246
33
340
268
485
589
618
245
367
128
283
721
27
893
783
858
963
435
762
607
257
506
773
45
439
139
720
593
450
697
969
830
786
353
744
840
729
810
588
306
639
585
662
115
977
132
792
84
461
692
680
848
349
844
810
991
160
717
229
940
732
358
919
447
972
498
827
13
48
557
836
761
139
188
650
803
819
542
113
93
654
833
168
494
448
138
785
644
82
820
451
127
47
668
431
238
131
576
268
627
255
589
832
31
283
136
533
32
474
801
491
234
360
687
996
244
934
238
839
97
776
803
240
197
644
597
17
325
758
874
146
474
236
737
123
737
819
220
103
250
927
675
335
827
413
909
268
63
465
580
86
503
344
538
406
333
502
94
729
283
353
585
10
974
274
179
264
521
853
945
51
439
987
821
344
385
20
833
589
775
279
200
125
446
113
117
13
611
917
774
887
976
294
589
168
643
967
931
888
544
300
361
822
616
282
509
817
625
164
815
536
648
516
144
622
101
205
822
900
116
226
989
497
183
301
643
898
536
377
996
666
732
387
460
582
874
897
80
555
628
626
822
391
122
568
663
113
436
894
886
268
363
97
435
534
379
518
260
63
226
454
454
603
121
805
59
854
316
234
94
34
773
107
119
277
61
817
948
137
393
958
176
107
561
402
88
609
477
528
179
804
950
660
793
571
747
166
116
107
241
460
149
661
251
554
911
462
690
950
73
993
661
328
971
73
569
553
570
50
233
762
653
390
234
397
218
929
633
799
158
674
316
804
508
413
966
35
408
236
795
980
233
189
718
472
545
170
107
505
473
497
10
637
612
558
434
852
863
357
544
352
917
764
773
894
276
203
171
271
387
234
114
289
30
747
304
602
473
199
628
813
321
536
727
42
764
634
867
645
612
531
415
28
278
188
157
887
771
626
975
266
702
315
748
835
958
32
914
221
217
883
396
211
410
457
852
722
651
862
892
11
609
414
15
251
990
357
929
824
819
890
742
607
551
477
878
342
916
379
826
152
31
960
274
216
623
979
265
451
712
310
606
160
25
261
421
585
597
585
202
257
578
93
103
554
587
445
843
208
706
568
351
11
946
864
312
538
804
478
849
189
534
250
30
713
386
489
999
977
79
425
471
164
219
866
729
640
85
332
31
729
630
962
685
179
960
781
793
952
487
569
838
47
932
39
930
754
897
254
98
141
527
366
184
423
27
584
484
560
664
279
317
822
591
355
525
949
493
342
180
950
986
89
836
785
182
414
374
95
315
469
885
978
673
197
268
459
672
416
451
42
659
611
772
71
673
283
915
917
865
538
135
836
775
898
414
746
672
675
530
301
479
630
754
27
795
408
338
763
508
291
61
928
313
770
115
468
656
679
583
37
421
177
608
356
212
569
15
969
484
330
709
37
154
129
132
270
870
981
162
498
676
991
786
737
120
702
995
305
615
898
602
901
931
896
954
310
739
670
15
933
315
883
268
286
805
367
102
987
773
805
166
728
516
974
565
245
506
491
805
881
225
224
621
97
964
41
694
144
872
486
652
555
808
774
618
382
187
658
331
142
897
641
169
678
839
406
227
310
79
370
539
163
772
721
667
118
384
331
386
622
28
729
931
822
126
573
308
397
177
170
177
285
720
951
935
381
888
835
552
860
679
629
163
541
317
702
950
906
836
82
693
408
790
648
947
510
388
473
246
402
196
119
282
647
489
708
686
21
875
570
217
696
250
34
174
456
984
166
926
397
480
638
124
270
880
873
884
893
806
14
173
941
164
986
716
246
347
686
106
534
776
296
478
758
256
362
920
610
504
593
418
44
422
721
305
429
345
402
85
689
770
445
368
733
773
633
586
725
581
981
131
685
791
16
374
862
825
822
142
257
303
861
813
818
668
163
519
103
233
956
994
422
450
97
908
737
556
745
168
997
104
433
957
182
480
739
389
897
120
175
950
702
329
535
142
92
875
946
506
433
975
300
249
639
377
20
892
354
269
758
273
959
237
914
631
505
835
970
549
42
296
182
976
775
401
606
557
901
289
75
346
721
28
220
547
518
569
140
998
162
503
281
271
774
250
946
513
906
350
722
777
88
714
897
541
946
86
28
346
294
812
466
340
992
650
736
330
410
572
709
501
204
189
541
779
239
62
938
781
69
328
21
183
627
751
404
919
208
992
966
351
707
836
885
923
337
461
921
449
169
565
744
22
124
823
99
842
492
523
636
610
15
604
836
21
722
370
770
73
830
882
928
569
471
654
78
674
355
409
349
620
593
858
694
886
944
124
408
309
816
332
29
955
785
646
439
614
795
119
859
634
606
661
273
147
918
246
921
840
474
355
842
544
281
471
961
427
822
360
671
781
952
403
608
744
417
134
584
268
501
522
698
509
849
398
367
793
463
377
910
704
214
473
681
735
431
852
389
204
864
961
681
372
291
313
829
748
781
56
479
528
471
545
280
146
311
71
739
724
133
906
304
310
309
888
561
503
75
781
312
74
632
739
816
472
255
554
521
214
594
903
780
259
266
626
432
334
332
142
889
65
876
338
820
564
763
611
840
426
209
717
283
983
376
207
531
508
895
166
813
414
181
899
407
818
757
971
972
854
837
517
856
623
620
374
577
852
400
895
471
462
269
568
251
552
136
554
387
689
792
802
675
531
36
127
382
308
756
422
725
482
402
292
271
934
421
628
860
263
693
472
576
450
772
453
164
204
580
670
935
864
437
245
259
81
291
819
102
697
213
811
126
962
498
309
60
92
293
231
750
425
48
676
807
387
906
561
720
937
578
820
247
288
65
517
138
318
677
50
503
511
998
784
333
320
629
318
616
381
548
260
615
688
942
363
557
860
937
793
243
376
87
542
78
974
469
305
349
828
477
121
203
628
727
695
714
628
82
229
560
792
837
677
821
215
45
233
83
65
177
721
113
317
681
856
255
105
328
158
720
940
97
644
845
951
431
225
210
815
86
680
672
466
739
645
579
534
823
615
458
986
986
106
56
35
634
718
246
856
823
170
311
557
123
160
750
316
586
779
396
204
700
707
289
784
785
729
780
541
183
115
878
676
534
342
829
194
280
169
895
593
22
416
78
567
875
681
320
377
672
370
422
129
204
962
965
536
144
91
744
663
471
311
929
506
966
559
234
516
697
774
624
120
849
340
863
592
632
24
547
503
31
382
502
841
420
238
714
766
723
761
705
862
44
237
812
45
602
278
128
558
697
535
707
223
876
670
456
568
183
77
667
56
942
127
125
681
918
817
30
876
876
542
767
885
327
455
100
572
674
449
59
626
777
193
311
502
633
120
795
112
78
184
451
635
422
491
387
569
140
725
110
616
724
97
775
138
455
908
407
870
299
217
929
223
449
366
554
854
512
727
853
175
903
316
85
551
976
119
537
884
666
987
856
208
529
619
562
12
527
457
258
427
69
828
589
868
793
375
636
81
446
459
652
845
81
98
984
420
756
233
703
179
660
846
837
757
242
904
601
950
822
537
680
933
166
476
991
308
408
994
43
639
566
498
229
952
342
275
211
618
799
251
928
233
228
304
606
500
169
660
922
316
351
900
806
945
206
934
611
26
870
46
689
28
836
893
654
986
728
657
736
481
829
720
596
939
411
137
429
77
228
601
493
792
788
534
709
366
696
512
906
637
927
434
948
797
248
190
466
905
291
53
90
717
243
689
644
491
489
561
767
913
10
819
348
742
465
41
285
985
579
246
451
933
614
36
178
21
58
838
596
254
699
698
911
141
54
846
952
445
877
536
916
428
483
220
950
873
401
393
848
759
588
939
117
551
259
476
394
939
598
447
703
535
867
903
634
69
788
96
352
946
278
401
768
546
801
692
948
841
365
142
759
849
103
186
222
881
772
858
114
946
991
903
45
824
849
292
168
54
775
146
970
939
452
724
102
448
932
889
546
710
889
749
693
160
476
872
35
760
52
40
182
799
792
272
935
331
455
845
634
739
491
885
213
571
115
516
425
768
744
883
239
456
438
475
592
756
434
289
699
281
119
65
291
135
893
184
707
322
76
390
529
803
743
73
633
790
150
194
700
718
602
805
942
928
128
223
196
56
440
827
812
249
121
41
446
854
816
312
721
15
241
735
650
296
711
620
871
88
288
56
850
886
700
820
947
834
778
78
377
483
452
615
483
133
147
938
335
17
156
173
249
939
655
674
244
677
927
391
274
433
458
656
150
962
671
341
953
819
505
717
161
609
828
122
128
480
181
267
908
181
919
217
657
173
715
772
813
858
890
364
528
603
715
688
97
336
880
333
409
889
194
713
132
949
849
111
111
328
627
904
117
660
123
695
183
638
904
690
868
730
868
955
960
232
51
555
62
203
762
393
772
701
753
848
930
269
138
742
634
341
184
157
845
401
759
507
388
682
903
954
217
252
184
536
606
274
270
984
823
339
750
916
271
95
868
631
519
375
142
938
555
695
785
158
361
669
238
313
280
627
532
955
498
51
362
649
477
790
314
517
661
968
625
394
938
515
768
664
243
934
202
630
489
503
445
853
893
209
803
163
343
120
320
571
761
707
185
392
695
561
212
682
884
941
330
10
143
323
179
122
368
514
282
563
352
219
123
360
58
320
803
90
772
450
130
225
821
594
900
146
292
947
756
798
385
39
419
429
396
342
838
546
946
458
545
58
541
283
920
501
102
624
758
793
982
55
417
795
597
404
26
300
991
623
514
186
462
509
125
155
276
21
730
153
577
387
521
484
296
459
702
284
16
671
336
548
184
440
473
948
249
395
778
447
818
855
732
292
786
599
233
215
534
658
713
740
670
242
890
893
722
20
325
682
140
915
287
401
301
642
449
287
373
312
156
191
384
661
958
767
849
508
566
267
749
138
965
716
537
603
110
530
777
499
654
399
156
207
883
737
887
538
227
126
218
248
815
511
646
948
836
315
932
394
612
247
33
630
15
475
384
360
365
730
346
30
96
505
809
766
737
38
442
233
780
668
148
776
992
680
740
123
944
402
129
684
941
271
745
968
925
18
869
483
724
898
175
934
102
136
616
756
622
320
469
399
407
685
279
994
714
797
662
550
678
99
790
864
304
234
284
876
56
936
904
671
677
237
24
410
764
500
686
618
140
889
181
303
849
804
505
125
710
745
962
76
754
196
145
482
920
361
591
94
394
850
966
863
758
162
595
921
359
764
716
610
667
212
743
372
363
257
957
672
479
85
492
486
104
206
378
721
424
54
156
56
510
434
205
812
658
632
383
809
298
919
39
439
203
382
969
411
160
162
923
752
355
620
429
212
28
553
463
941
304
577
805
607
684
741
522
542
461
498
296
49
34
136
93
348
26
409
459
708
12
509
36
621
506
813
842
600
470
83
637
315
172
250
364
955
375
742
689
583
325
481
886
882
862
963
960
240
884
381
250
369
316
968
541
439
667
783
547
567
245
737
479
850
48
148
737
37
595
658
466
854
902
215
268
80
514
265
888
655
738
303
573
178
847
262
531
562
78
357
402
263
422
936
349
483
566
907
966
107
208
223
347
569
322
246
679
828
590
622
537
157
971
85
686
574
159
340
356
402
687
412
523
65
162
841
975
901
656
817
786
932
841
574
949
64
156
281
358
207
931
400
671
528
239
46
248
904
12
580
789
658
881
661
670
87
993
645
673
347
272
642
494
847
339
753
597
139
55
123
218
955
796
300
809
636
629
480
907
968
275
249
851
93
311
497
28
654
909
985
85
671
459
517
442
425
684
487
408
771
683
41
783
166
737
133
120
69
77
105
50
967
493
582
290
201
88
597
584
364
847
380
845
543
555
878
503
808
219
958
772
457
23
102
92
904
918
553
842
922
895
429
840
500
365
918
749
670
872
247
16
390
35
135
861
895
638
18
384
929
882
747
868
865
570
699
862
131
266
883
684
999
886
733
10
850
849
470
912
859
911
138
765
425
335
860
506
540
426
799
582
480
138
527
373
715
665
576
558
831
900
626
270
756
734
204
917
812
857
440
817
507
900
818
310
189
239
370
589
402
433
907
552
424
302
248
850
847
608
645
34
277
589
335
996
181
502
689
101
421
204
283
816
575
589
11
396
95
715
976
550
977
562
88
998
868
574
276
282
512
827
675
493
421
325
930
513
717
311
209
93
903
683
685
300
34
489
547
189
405
63
331
969
354
358
494
41
838
194
247
415
274
127
583
328
332
855
954
772
380
756
872
278
901
299
251
426
451
734
642
807
659
800
344
714
546
821
584
476
555
43
772
40
295
313
619
564
505
367
629
268
724
401
966
799
216
794
219
821
489
93
275
221
891
227
249
571
187
739
608
419
577
272
312
926
770
802
681
274
783
257
66
596
606
929
33
692
366
794
234
252
896
505
610
673
370
172
947
875
694
491
406
287
847
157
662
565
92
314
560
37
885
641
319
484
921
303
861
347
660
746
872
300
888
985
504
246
962
937
663
134
774
267
296
758
59
531
443
166
649
294
321
913
370
891
587
686
765
351
91
319
35
862
640
937
106
68
690
319
456
517
821
333
371
517
918
171
853
39
735
369
552
26
897
199
875
397
770
701
457
586
738
775
346
870
475
23
875
595
477
680
812
718
76
36
985
601
224
348
605
720
846
305
480
341
761
222
273
817
543
621
715
840
379
342
466
17
795
80
863
142
625
747
439
931
427
141
460
840
228
617
863
280
87
135
47
978
225
136
405
445
255
883
176
558
31
332
489
287
723
442
53
406
660
501
525
325
543
756
715
119
62
525
361
300
364
38
302
354
411
998
38
981
525
231
35
383
308
236
392
294
153
700
447
325
121
315
539
50
901
317
518
371
200
592
980
917
926
625
406
781
765
776
82
604
817
531
433
665
751
619
863
815
968
132
291
803
454
408
728
74
576
85
936
129
669
81
927
944
228
400
540
830
120
128
110
484
62
414
652
495
501
259
418
358
595
288
309
116
10
580
689
726
383
594
546
324
166
879
108
206
24
160
532
683
98
265
100
257
962
326
964
816
479
317
106
806
657
911
440
907
279
264
842
894
406
96
482
727
954
376
416
231
12
821
857
544
728
944
31
369
249
874
194
817
271
795
77
852
86
426
39
428
729
958
44
425
181
465
36
186
614
365
214
52
797
747
967
959
502
829
241
880
326
357
674
423
485
243
895
676
981
63
384
165
680
88
900
336
793
661
597
73
661
949
428
763
928
354
94
645
994
119
38
20
206
176
167
300
151
734
714
198
955
97
943
107
547
663
969
557
329
236
730
367
792
644
274
828
474
288
419
292
565
694
682
733
649
874
727
741
194
72
334
786
466
873
277
380
526
702
557
845
406
689
325
733
76
875
911
273
406
452
522
659
309
556
790
546
227
349
960
406
564
616
605
45
115
124
450
742
511
656
148
321
954
582
852
643
901
337
301
694
599
564
617
293
771
376
766
734
610
876
957
17
508
436
751
372
999
847
371
730
967
845
729
281
434
79
627
167
183
122
901
428
617
990
424
72
194
131
957
146
895
746
951
645
842
701
50
438
914
938
523
554
198
12
221
201
461
649
654
951
976
860
782
192
114
725
244
606
608
549
90
502
21
379
805
283
823
977
453
423
694
341
230
681
819
421
499
732
237
802
969
131
205
672
725
149
109
117
925
443
663
57
378
816
68
912
58
131
363
746
523
86
230
78
499
267
655
768
20
995
942
548
537
649
97
498
447
151
931
653
754
433
552
351
155
679
261
461
585
663
36
339
668
858
620
276
998
46
145
546
598
626
809
536
751
245
513
32
708
528
890
534
706
282
499
976
148
519
113
391
790
551
518
260
167
319
686
416
447
622
975
579
736
72
676
539
378
333
117
707
51
880
384
117
701
267
240
877
504
926
560
43
173
136
772
850
172
229
162
654
380
226
159
568
650
323
560
506
890
938
210
474
706
615
803
738
66
514
525
177
342
141
253
583
883
848
79
147
476
672
980
524
475
827
53
76
583
345
544
611
595
566
593
854
561
33
137
559
972
236
513
491
570
385
63
138
708
131
145
460
821
346
145
936
400
845
295
317
182
474
765
192
485
424
939
87
542
818
792
229
193
971
287
818
54
144
240
550
238
152
218
255
355
259
826
800
472
382
972
426
618
187
23
978
559
979
300
100
953
765
371
412
562
752
110
641
304
252
225
218
830
510
448
212
768
71
960
881
133
929
427
532
901
119
240
173
811
70
85
842
485
877
871
775
178
14
49
485
628
602
163
31
712
403
902
208
932
709
239
465
656
844
426
215
520
118
275
978
173
964
203
395
436
992
286
89
611
435
586
700
688
427
958
581
145
833
859
252
991
440
266
275
987
190
68
253
178
785
604
927
231
20
439
397
546
446
516
434
471
959
400
58
535
299
987
886
710
975
170
447
426
969
937
68
252
590
363
586
739
252
878
209
208
973
512
52
181
948
754
126
841
23
720
567
752
321
875
938
653
117
682
352
808
873
66
279
773
975
866
990
356
460
743
113
97
254
972
962
54
378
497
597
96
357
372
578
409
204
115
432
203
203
417
356
340
326
876
976
919
75
573
997
520
562
661
422
173
701
328
856
166
466
289
149
358
840
770
168
221
550
939
485
699
502
75
231
51
973
207
642
804
575
372
789
988
414
682
989
54
689
857
530
81
887
48
41
929
695
917
24
978
129
535
719
118
434
12
533
743
984
696
237
986
700
515
142
572
207
500
432
44
564
358
957
867
733
536
912
524
546
287
935
105
960
103
833
847
42
623
499
39
174
594
133
388
451
443
918
366
716
290
492
378
897
872
301
43
438
148
759
694
790
749
77
676
130
882
882
650
748
915
858
324
184
353
176
993
551
411
190
307
563
934
137
130
740
886
714
639
50
338
28
439
758
993
776
263
691
658
685
734
260
806
890
306
201
561
757
780
536
766
180
231
705
978
289
720
879
775
875
730
713
80
931
180
539
403
289
488
966
563
521
220
550
154
872
874
521
587
349
588
727
374
627
587
116
382
667
792
809
946
491
743
407
263
786
501
867
20
644
120
948
858
576
740
309
730
929
354
879
783
23
127
151
469
782
984
660
267
696
983
285
938
567
615
414
735
359
419
167
805
721
603
659
969
176
807
826
144
163
253
880
753
395
553
611
497
504
776
671
238
172
250
127
652
499
646
78
110
966
175
28
402
914
428
666
874
743
45
622
65
580
651
894
489
851
776
203
767
185
151
532
63
807
76
287
83
16
994
588
600
253
906
962
512
869
43
73
783
329
982
631
819
432
842
136
502
949
428
458
544
724
248
225
15
665
693
149
290
161
379
355
688
384
442
212
119
394
136
869
856
381
707
252
943
889
974
44
158
808
71
706
804
350
452
351
903
423
275
196
357
477
260
524
244
340
660
761
323
874
50
974
392
670
119
359
477
981
110
106
754
599
272
555
752
557
632
968
131
672
205
402
175
552
908
179
617
777
374
682
739
701
339
923
704
970
568
298
776
461
450
625
479
996
203
577
218
452
738
961
131
208
92
53
673
765
732
472
859
903
232
538
171
156
911
458
346
577
340
19
375
527
64
374
215
425
991
457
533
59
143
820
670
111
251
610
814
245
771
558
656
706
879
882
921
944
365
198
72
853
499
330
699
831
816
707
257
70
68
495
207
709
850
507
646
652
425
346
51
614
723
340
238
876
46
956
173
866
194
348
558
219
198
105
413
343
862
609
280
847
82
782
943
39
564
825
693
803
477
678
784
312
880
560
323
34
313
754
420
879
203
824
613
612
196
154
376
93
770
620
900
364
25
97
695
553
559
467
346
450
307
250
833
94
89
137
762
571
466
911
854
909
445
33
364
920
45
309
249
629
916
273
866
178
901
666
882
362
578
357
168
134
409
173
231
404
163
161
395
478
494
916
354
866
361
208
481
53
37
315
176
714
475
303
489
729
994
309
884
779
430
739
279
709
100
862
581
918
894
100
233
203
901
546
900
251
683
10
401
203
640
345
126
768
280
475
592
629
444
414
500
26
65
807
41
979
796
218
99
959
152
143
491
811
895
306
513
772
851
500
148
686
590
374
258
583
914
536
268
819
826
127
556
18
982
383
135
748
149
365
212
303
456
884
887
344
520
31
674
923
115
526
155
729
37
859
875
323
196
857
203
200
296
924
684
708
352
777
97
372
154
583
132
745
359
501
976
773
578
613
402
911
983
256
664
334
327
460
193
178
455
147
236
451
592
88
978
475
191
811
524
14
613
357
443
885
226
611
68
793
544
58
272
259
642
876
19
933
128
456
850
393
850
67
221
236
809
698
418
723
257
199
639
291
293
651
139
999
462
755
250
52
574
904
792
642
523
612
618
565
275
148
565
785
681
833
319
204
906
72
179
666
588
900
129
177
685
70
721
377
812
824
173
101
760
633
418
826
830
121
770
670
266
890
82
592
541
266
805
774
994
859
102
570
984
600
914
256
221
735
242
86
441
146
497
924
574
562
743
801
549
366
401
850
515
124
90
819
362
347
762
333
450
597
594
931
739
283
319
168
188
392
967
890
777
93
860
848
978
859
692
530
598
143
874
635
819
799
807
349
396
676
189
283
927
908
438
809
830
550
204
992
919
912
491
442
323
228
720
580
874
563
258
735
978
298
358
493
375
75
974
15
202
430
765
289
705
567
890
376
555
883
915
252
541
673
526
225
349
766
400
199
58
711
787
871
639
69
39
354
939
442
993
508
472
830
647
604
481
282
688
523
760
591
590
719
236
471
342
142
904
898
899
966
58
681
970
734
999
808
988
494
24
534
634
372
445
924
281
720
233
557
935
885
433
578
238
632
774
460
930
695
487
12
909
570
577
805
34
451
59
508
509
784
656
482
940
653
37
879
289
784
612
436
551
513
12
483
362
273
47
750
389
11
314
14
388
788
487
614
896
787
236
661
806
317
189
74
349
460
485
561
320
646
831
770
111
589
337
533
980
847
350
116
342
371
234
574
985
630
268
206
809
616
448
440
820
47
370
755
80
978
249
650
372
482
430
305
795
748
274
91
92
834
745
449
813
418
699
20
168
78
643
948
208
567
898
693
356
669
914
818
982
651
140
757
507
197
956
997
549
907
764
297
320
429
569
476
379
966
948
205
694
608
618
547
306
48
744
398
189
284
744
668
761
605
765
480
650
960
298
61
942
975
516
401
670
24
415
58
374
574
646
189
570
830
904
711
472
109
959
622
889
949
130
875
968
602
509
162
697
274
932
873
585
118
149
403
825
893
789
212
970
884
632
420
866
382
808
111
257
703
369
742
866
960
404
390
396
995
719
555
931
946
456
978
693
971
511
166
196
905
561
682
247
564
735
919
441
537
315
13
175
378
17
285
768
854
790
379
555
982
967
874
57
23
138
827
701
714
942
313
231
244
615
145
666
998
635
501
789
40
558
745
842
877
824
864
193
998
879
487
391
830
315
495
381
335
22
363
688
366
123
328
122
812
741
966
927
646
751
955
674
93
858
586
232
391
700
400
587
54
25
880
146
794
644
841
838
468
289
807
935
227
573
984
93
357
793
338
388
387
694
618
640
339
813
564
698
410
589
828
93
236
966
122
978
667
908
478
680
486
293
275
991
954
849
201
691
407
68
871
876
888
617
590
358
221
136
36
802
169
343
684
819
602
336
687
891
644
880
40
839
45
815
210
965
200
894
855
324
232
187
934
210
782
899
354
184
966
399
724
826
493
43
961
627
478
925
870
702
274
418
217
56
853
843
527
276
575
888
372
143
156
931
839
123
795
669
344
92
517
759
625
785
888
172
500
452
669
467
351
942
708
148
242
613
811
656
411
615
665
722
259
241
68
565
778
993
912
894
140
653
708
869
89
583
198
330
601
487
863
675
622
776
171
487
802
875
364
326
323
672
876
502
726
541
888
448
670
720
842
695
422
642
153
132
741
805
347
257
309
824
254
396
800
167
587
271
379
396
888
842
742
488
83
930
248
822
50
125
555
255
176
57
894
379
611
790
485
186
276
950
176
320
269
562
23
133
124
997
746
859
903
823
973
354
834
740
975
998
943
852
759
381
455
864
802
240
229
581
537
852
508
445
397
890
314
423
989
320
88
800
420
605
326
821
940
359
600
365
45
91
106
825
695
248
247
676
260
130
320
205
842
173
491
53
237
205
450
568
997
137
75
410
100
73
402
310
450
313
927
712
49
876
575
539
901
791
107
246
143
503
24
261
779
756
188
87
530
579
942
203
394
355
681
107
707
52
147
121
211
924
840
100
918
676
410
208
581
494
336
478
884
935
328
853
543
824
51
78
852
367
644
810
770
632
961
199
930
579
144
507
738
765
69
850
722
943
512
264
717
869
491
426
929
202
33
839
543
133
691
872
281
651
504
852
955
971
532
326
656
298
895
232
606
445
920
731
445
88
869
765
136
208
470
151
142
712
609
475
371
902
556
866
348
644
709
926
14
469
397
268
375
991
133
602
863
596
582
126
155
675
690
121
296
644
514
440
92
547
25
10
665
720
968
432
260
448
267
279
361
949
193
53
942
573
679
491
213
986
706
628
721
920
703
999
961
592
148
375
638
15
983
999
815
591
895
550
890
906
212
197
734
742
764
566
926
649
574
651
43
688
602
476
894
680
871
425
919
213
378
790
59
457
958
902
441
812
182
613
260
831
944
155
948
554
931
376
998
232
321
598
21
653
346
649
454
378
53
613
200
657
39
542
729
277
635
346
956
750
944
237
895
593
539
345
563
442
266
96
168
470
977
640
32
114
883
142
932
587
880
81
508
661
540
65
701
359
655
392
914
751
595
70
885
345
273
856
137
125
527
73
498
564
813
386
514
765
590
258
652
67
887
182
259
837
825
203
102
583
631
719
692
50
651
374
613
724
347
635
550
343
545
696
600
188
728
33
128
971
949
106
770
444
891
445
130
335
139
836
942
130
513
784
798
703
311
530
384
449
309
56
273
861
989
834
240
21
516
485
22
989
665
337
141
870
89
976
781
855
217
568
752
858
979
637
607
13
832
551
41
788
602
910
876
249
962
819
250
900
227
98
893
703
248
53
446
286
619
674
676
194
806
675
898
480
65
247
406
990
35
502
256
784
451
510
733
849
84
913
535
966
21
871
896
635
116
454
215
670
433
768
932
410
306
490
205
354
210
78
64
178
57
126
705
809
74
656
498
272
362
838
762
493
401
48
875
396
542
492
372
863
930
372
647
690
593
733
497
16
892
775
91
648
107
594
650
645
940
712
172
461
45
17
280
394
190
399
786
669
779
530
225
395
204
577
694
109
741
669
694
980
152
385
166
300
817
895
756
79
616
483
53
492
152
453
693
624
65
130
554
613
164
644
278
559
956
42
866
35
559
785
430
221
272
94
268
68
291
448
564
655
852
214
413
577
415
834
221
474
594
864
599
335
422
329
195
651
647
828
534
671
96
779
865
950
268
587
300
920
980
196
925
437
783
274
339
28
146
682
902
535
658
161
687
908
413
833
92
629
806
992
284
985
145
284
500
709
904
491
504
385
665
334
515
251
488
386
786
334
837
217
886
575
238
971
277
774
541
191
605
867
870
348
414
595
798
490
542
974
695
961
289
701
109
706
624
729
495
547
68
705
99
47
673
163
526
408
179
836
129
40
198
245
453
367
601
82
148
166
426
588
264
885
898
325
842
697
959
760
841
456
88
188
403
35
484
464
338
935
745
168
295
248
752
536
693
665
483
821
759
864
971
761
101
946
458
873
313
818
946
115
45
217
303
799
72
271
615
34
727
461
442
237
981
658
670
47
687
929
199
232
682
727
944
491
12
996
423
658
743
34
81
855
619
300
293
586
899
427
168
57
201
258
280
987
31
817
784
861
682
908
745
439
587
316
864
174
376
824
571
337
724
170
524
512
592
484
112
60
909
376
774
143
602
255
935
622
343
485
540
917
534
476
971
708
100
10
785
487
462
533
175
750
167
69
889
585
457
270
85
852
307
477
516
910
769
380
835
444
979
681
472
32
354
608
437
141
355
845
878
272
314
195
87
831
824
89
53
93
896
811
172
537
314
614
289
747
942
824
251
126
87
196
454
254
424
134
771
954
147
42
837
274
483
458
63
988
217
286
586
287
858
228
232
26
837
320
205
534
305
786
685
379
937
340
895
773
570
910
321
611
812
337
120
704
855
766
179
286
275
244
242
680
706
557
168
451
159
569
405
576
662
56
143
594
520
335
486
850
411
861
890
89
814
398
35
748
266
345
954
565
770
800
141
493
546
242
193
740
199
336
273
575
764
102
631
656
527
547
583
72
482
717
857
657
69
232
515
450
919
851
309
923
111
321
307
179
142
989
110
688
196
730
436
613
695
429
356
752
943
799
456
361
108
920
579
707
703
674
737
407
272
796
183
224
741
477
665
613
802
176
355
315
562
939
801
233
959
963
631
486
975
374
594
168
472
344
351
270
517
166
609
779
471
869
143
619
641
553
712
800
270
858
603
660
538
647
428
11
848
349
583
689
366
275
392
127
186
29
743
517
442
241
293
888
86
236
283
451
681
507
335
168
530
914
932
400
290
626
871
835
500
383
969
342
85
395
901
500
358
22
223
506
220
213
29
141
47
435
183
254
152
61
154
251
411
210
236
880
854
899
307
852
361
371
276
767
646
886
595
63
93
624
823
477
863
295
824
813
493
489
270
327
198
103
510
376
396
108
10
238
972
113
508
744
883
570
802
545
174
405
773
326
17
170
558
212
700
754
57
265
710
327
236
943
553
894
382
445
829
764
132
816
598
713
216
82
780
368
825
708
856
50
719
315
358
302
483
853
419
698
830
643
448
43
998
182
679
965
352
779
132
488
892
513
296
69
852
627
105
87
281
248
845
20
348
574
701
29
862
576
391
783
797
873
457
289
73
713
509
350
571
557
354
243
330
10
943
157
363
794
74
26
163
479
399
673
400
593
342
640
624
484
666
820
867
744
779
237
316
813
599
31
161
974
764
23
44
253
910
414
668
595
758
580
256
591
528
281
118
217
766
854
369
537
852
600
916
949
854
876
934
253
299
750
572
727
482
951
454
590
728
926
542
183
561
94
89
975
32
53
679
260
204
166
789
115
532
183
367
72
723
12
516
944
258
151
410
775
694
417
835
433
422
704
174
567
895
178
501
692
12
976
348
751
496
947
426
72
678
836
129
149
492
599
725
624
372
138
60
511
836
182
169
105
325
206
289
122
188
552
248
750
324
920
896
934
40
94
846
403
372
508
569
749
985
632
582
354
679
839
221
768
369
179
444
274
896
764
343
383
418
546
80
859
503
511
711
732
904
593
642
353
50
575
471
676
474
564
228
297
887
909
229
690
928
387
878
743
143
311
431
405
792
968
767
145
106
438
788
690
108
906
786
739
115
407
77
369
70
768
699
414
21
567
968
894
112
387
637
257
25
480
341
931
212
158
16
627
908
340
363
998
147
75
186
324
706
82
978
519
74
421
776
297
514
312
714
851
449
118
259
86
88
64
698
927
752
923
388
346
47
685
510
903
864
620
35
281
933
344
492
268
701
257
783
284
370
216
307
142
842
222
47
909
173
812
85
305
779
969
914
182
441
533
249
169
737
150
262
15
885
98
124
21
19
644
504
525
729
513
691
940
424
735
806
618
825
145
87
416
394
873
518
538
151
331
49
895
612
894
624
354
549
225
283
154
654
218
29
473
683
514
390
399
302
721
601
250
46
860
141
830
530
706
874
258
847
913
743
376
602
842
594
541
116
443
656
604
567
161
676
177
307
96
818
215
297
591
185
426
953
656
158
806
703
783
346
33
24
837
891
490
728
944
507
335
286
146
538
686
577
959
564
979
299
767
245
591
369
329
110
903
670
514
894
310
24
501
863
988
208
696
945
886
673
921
725
432
553
99
343
495
108
988
416
477
336
789
891
81
807
269
347
419
40
834
228
452
812
882
256
789
585
599
712
346
627
271
141
209
432
174
777
320
186
919
45
55
765
243
72
263
386
828
874
609
371
248
383
35
534
333
441
935
447
964
182
420
698
259
629
503
102
373
873
993
455
735
230
582
89
898
168
427
150
202
260
129
841
68
52
924
489
81
989
404
178
92
322
831
340
810
220
719
824
670
708
738
923
193
991
803
439
512
346
992
17
320
435
229
486
545
50
879
304
542
575
810
796
365
895
260
51
133
203
719
630
226
220
779
42
317
365
314
829
655
569
491
679
728
133
94
442
606
128
45
919
376
771
74
562
477
797
194
974
266
674
323
558
909
39
174
403
269
586
969
688
407
937
74
197
601
284
402
340
853
392
349
75
728
833
374
130
592
933
719
679
584
518
720
884
786
933
218
595
542
757
777
163
205
170
250
554
678
736
735
960
670
736
300
153
789
521
691
818
636
535
673
413
815
162
831
59
216
316
891
758
93
661
429
511
74
252
86
601
824
88
481
912
939
20
840
975
25
290
907
536
72
601
537
611
391
955
753
818
750
120
173
860
198
766
93
990
11
132
223
882
337
281
934
903
723
902
913
327
823
172
923
189
335
63
246
208
84
125
217
425
155
392
186
215
723
389
378
557
650
291
641
192
967
543
733
374
559
70
991
436
41
459
182
47
741
923
651
421
880
740
585
476
875
546
90
59
922
820
474
942
300
791
411
171
351
808
443
532
56
136
62
110
955
736
700
890
792
150
500
437
105
869
434
138
800
347
212
637
754
338
281
791
129
427
86
828
191
111
953
861
886
710
29
262
256
527
473
793
229
36
981
866
568
793
464
707
959
416
651
681
750
918
231
824
396
321
359
181
530
430
335
31
132
856
971
18
514
248
313
758
467
901
155
609
126
704
247
15
751
775
413
12
422
376
360
682
14
258
928
936
285
245
166
533
123
155
597
43
53
422
982
926
154
957
376
33
302
686
831
319
896
910
559
836
485
60
660
716
367
35
135
403
157
583
102
692
630
817
968
668
487
577
779
186
554
665
236
620
853
323
142
471
155
988
619
685
454
781
665
277
837
345
661
911
902
316
225
146
959
780
410
223
213
641
585
224
930
48
219
345
721
271
667
647
209
79
368
894
538
215
402
72
443
416
204
913
808
117
142
499
628
446
961
487
596
239
242
56
58
50
674
899
440
940
23
950
670
892
45
187
276
678
789
854
967
495
169
38
432
742
303
655
387
419
563
286
432
536
477
368
406
431
815
958
399
461
958
381
218
443
221
908
339
435
49
168
452
648
851
816
139
683
723
565
366
701
736
256
815
970
10
573
42
473
14
688
347
16
357
917
80
508
735
223
776
176
197
418
136
314
74
908
269
691
682
585
289
199
987
271
31
541
514
77
72
744
369
52
796
992
378
809
992
982
48
808
67
869
366
510
258
951
288
303
479
478
343
228
872
639
837
64
412
515
981
635
117
630
971
60
391
457
205
446
150
556
154
241
130
107
866
193
183
267
732
863
341
517
932
718
309
121
74
224
878
290
939
418
847
441
564
975
585
884
853
930
335
944
63
989
499
989
519
92
911
126
951
920
294
315
744
771
586
355
488
391
937
692
804
74
66
650
331
606
262
550
468
447
449
423
707
428
522
332
855
199
915
163
444
422
515
920
49
17
638
637
939
423
692
90
845
745
777
624
178
527
659
130
899
159
572
443
197
421
460
436
95
649
300
457
264
48
978
955
921
705
248
815
419
865
940
43
309
946
364
525
550
757
742
970
741
635
591
503
322
766
220
108
669
971
854
895
26
156
615
559
742
739
829
794
387
534
146
909
800
88
346
78
409
451
477
832
634
224
777
780
307
175
589
897
550
51
796
943
249
497
410
616
828
309
541
420
244
733
617
693
71
122
826
388
813
371
907
270
847
67
348
569
693
721
815
23
53
328
848
947
572
822
103
724
870
125
973
568
154
486
874
570
355
627
434
823
841
663
234
541
960
230
916
532
849
54
457
304
485
475
720
748
829
226
543
73
995
501
195
439
600
76
925
721
299
271
889
625
21
212
74
27
862
449
356
26
268
543
535
582
548
978
37
878
879
181
76
212
288
65
174
376
621
447
923
751
101
266
414
97
18
101
420
350
402
741
763
531
152
173
691
13
329
578
296
384
113
59
305
929
171
401
791
578
366
875
628
521
611
432
333
714
227
452
322
375
488
525
133
931
884
177
686
364
180
958
595
214
595
810
462
733
197
820
569
915
473
122
566
881
169
334
434
97
38
637
160
782
411
672
74
286
437
106
62
80
886
816
228
100
689
952
315
667
939
698
918
835
543
90
835
153
253
271
627
946
921
515
331
947
265
926
236
896
663
409
941
602
223
852
181
405
607
375
229
660
854
363
80
986
611
793
520
761
833
344
135
360
825
441
735
917
77
398
137
660
715
110
252
925
342
97
28
888
375
223
687
461
923
502
859
651
186
739
747
543
289
459
703
792
824
774
279
457
748
731
92
183
630
249
703
205
831
845
492
403
573
502
886
865
902
674
971
365
437
750
449
246
866
993
734
630
506
413
292
152
356
982
487
850
374
101
431
387
671
908
347
534
998
948
711
852
78
85
243
729
923
830
670
123
940
773
641
948
149
40
168
828
386
638
211
75
888
711
963
743
716
933
86
268
541
523
350
946
591
339
198
95
750
845
287
517
816
474
631
319
620
134
864
828
528
935
69
101
426
522
166
216
322
213
378
146
300
849
177
166
183
424
881
648
920
482
144
185
11
991
823
489
484
197
478
620
912
312
294
273
555
739
280
365
829
305
369
155
497
783
685
447
451
14
944
560
655
33
627
396
934
705
891
431
164
417
955
10
412
222
429
66
861
683
902
326
64
406
588
382
319
680
572
816
230
877
293
923
139
66
565
792
849
384
20
209
380
399
981
714
100
210
430
994
382
255
199
821
243
617
739
956
470
645
46
264
37
207
85
734
690
709
950
81
984
568
422
197
854
214
382
573
408
467
274
845
422
279
59
975
633
841
840
564
48
15
988
33
334
935
132
760
114
411
671
224
327
212
501
590
726
907
774
867
240
56
849
737
591
546
745
407
604
23
414
551
54
605
251
907
586
757
79
324
248
873
341
571
95
860
933
265
777
892
997
757
671
362
353
411
191
437
588
987
444
672
271
636
105
633
798
321
243
46
642
218
990
605
222
586
551
60
392
530
733
163
760
18
705
255
601
918
461
754
628
199
429
58
807
720
171
210
370
77
752
351
951
954
425
958
935
126
620
888
725
580
668
434
880
152
344
208
471
892
207
327
874
92
324
534
506
901
210
59
692
330
241
437
231
377
630
440
796
418
399
552
340
369
751
94
762
994
693
701
368
891
364
410
509
911
291
160
29
766
87
649
96
614
103
27
704
549
417
844
744
383
625
102
980
969
445
289
923
654
538
964
90
514
414
497
560
483
541
885
72
568
697
278
31
929
289
152
980
289
787
438
385
184
142
924
928
390
745
418
66
462
455
281
231
373
331
995
911
592
110
79
688
834
152
480
388
700
176
311
436
271
48
898
734
57
815
734
465
354
625
924
460
227
21
960
751
508
875
266
688
781
942
993
688
81
699
996
767
977
402
961
815
89
652
417
694
63
382
541
73
472
619
473
303
373
531
977
799
454
431
647
86
936
785
511
991
276
937
347
256
419
841
846
123
872
402
490
410
14
144
361
360
698
295
639
828
432
801
744
931
151
69
929
687
944
979
558
154
429
424
230
747
840
205
624
933
222
38
768
399
775
35
26
496
162
377
251
834
843
287
600
580
108
477
170
74
515
395
803
45
519
755
611
980
76
594
187
326
599
342
174
987
587
788
93
40
581
244
876
232
609
491
729
867
436
682
646
767
387
819
164
286
156
864
568
699
370
674
570
42
271
912
533
863
55
621
814
264
755
35
628
102
284
368
140
343
883
805
133
879
211
975
343
758
364
412
587
63
870
577
753
534
657
316
299
393
816
166
764
567
870
275
62
739
448
422
90
602
446
848
534
48
983
474
473
27
632
844
125
850
798
94
354
967
320
590
184
339
47
896
601
765
857
612
853
162
913
900
394
583
484
77
837
382
444
96
42
232
311
404
31
256
999
340
509
794
422
800
918
470
76
514
280
394
682
454
585
898
757
778
34
934
944
42
576
359
254
499
995
902
447
867
717
794
71
348
442
945
666
356
185
341
702
658
339
734
203
623
319
504
26
730
96
204
580
785
465
375
112
164
979
912
613
979
252
608
332
113
995
979
304
351
949
727
534
441
511
29
88
16
219
325
382
142
737
810
216
198
524
270
425
461
761
345
718
965
42
225
806
574
190
464
882
55
646
267
350
201
173
416
873
785
434
951
564
554
364
79
234
497
968
207
287
383
115
967
303
857
690
400
244
758
31
659
45
767
960
970
726
364
545
644
828
828
626
478
130
476
367
894
612
685
606
249
804
877
19
973
728
143
564
575
296
219
693
430
371
561
206
117
516
558
947
676
628
162
222
627
767
658
638
15
68
304
273
726
650
901
176
18
958
617
147
894
301
26
363
388
18
330
906
895
74
197
374
165
601
882
685
477
945
97
365
685
397
840
53
199
137
296
387
320
711
571
303
277
488
661
255
676
243
914
769
309
724
564
609
16
331
69
809
336
766
228
785
952
346
163
501
614
202
75
746
553
373
791
872
175
872
887
828
460
863
793
580
982
958
756
115
692
985
77
131
452
269
18
276
241
258
936
691
274
294
23
239
710
196
73
943
317
671
192
707
82
372
131
10
302
640
421
900
626
524
23
793
86
877
699
81
812
729
154
327
418
155
105
589
417
591
159
510
433
358
700
294
759
145
672
363
460
890
522
643
566
764
546
558
188
981
230
775
56
849
854
983
968
938
47
448
454
190
16
640
412
158
956
380
345
99
444
107
136
980
126
847
738
236
253
325
78
34
330
316
247
33
492
415
899
831
748
384
313
895
24
17
219
158
225
923
465
58
991
734
89
138
81
589
885
427
628
63
45
505
29
810
360
349
653
363
906
125
526
18
79
361
458
921
78
359
947
563
282
956
940
138
140
415
268
658
134
637
412
503
100
23
546
142
331
63
845
419
563
892
564
408
731
899
351
765
622
343
911
509
253
301
483
402
339
321
227
992
770
585
245
868
649
345
730
809
258
504
695
584
607
548
698
349
439
576
961
160
361
206
718
742
248
811
839
472
501
894
754
768
606
343
328
928
949
703
836
177
193
75
768
684
39
661
744
559
904
979
928
856
811
788
953
70
810
205
99
566
85
881
821
982
958
791
208
451
285
260
442
323
526
269
665
934
389
71
80
447
154
431
76
928
628
587
470
24
463
350
146
527
80
159
850
838
432
347
471
593
47
672
840
763
699
262
979
531
482
538
16
288
730
258
809
967
788
695
42
138
639
262
702
978
827
311
242
543
136
624
580
501
412
480
119
419
274
169
917
138
118
495
590
557
742
320
279
466
744
141
621
191
821
777
980
36
145
685
133
227
965
952
866
949
624
248
432
109
459
798
530
994
412
30
812
885
584
947
758
612
325
291
128
236
199
247
945
832
738
985
724
849
783
865
727
612
513
776
886
709
211
854
848
145
146
899
698
622
51
129
864
938
44
930
191
830
788
732
913
167
326
93
128
449
213
917
472
524
78
767
374
911
354
714
344
517
980
197
667
323
162
569
617
665
819
646
294
239
63
235
275
877
41
456
938
72
972
468
474
73
164
792
669
209
63
968
599
457
404
607
819
392
826
318
65
38
472
998
510
343
148
892
54
917
882
477
191
670
429
89
304
958
723
672
362
698
786
841
677
235
666
638
502
808
321
502
871
664
540
947
164
38
564
380
163
279
538
737
149
130
103
949
105
439
909
409
258
50
63
28
365
144
845
510
876
546
589
33
687
764
867
498
381
925
806
619
637
39
264
401
714
636
857
642
843
846
798
135
759
735
269
320
546
534
409
664
856
237
321
214
161
567
908
725
381
625
246
198
345
873
761
805
268
83
652
496
15
391
656
762
983
931
209
325
554
412
769
940
221
27
971
427
456
297
947
18
575
167
720
659
437
924
814
631
617
281
849
261
571
167
402
524
861
875
701
52
760
186
520
129
729
784
117
404
858
93
520
918
841
509
528
520
314
333
11
324
764
306
987
58
576
993
245
865
374
446
776
919
595
768
335
348
279
165
847
931
793
77
268
676
240
40
743
392
421
406
300
905
858
865
467
706
197
122
535
68
289
452
488
453
182
599
750
574
272
963
427
368
941
515
62
41
283
392
517
610
121
892
167
901
597
311
443
769
415
389
449
884
828
536
177
465
466
782
607
568
232
294
145
365
732
49
786
898
42
915
975
848
297
123
805
133
428
130
868
622
969
920
650
842
100
560
46
701
689
297
352
242
695
782
583
916
129
515
515
979
603
151
380
870
531
299
950
754
884
442
921
543
373
472
149
950
273
957
118
417
232
590
569
851
60
688
843
358
73
763
636
942
525
983
266
589
484
117
396
904
988
704
93
802
724
98
767
969
751
831
314
510
384
219
847
432
715
312
186
202
290
767
305
199
589
742
577
984
307
527
249
263
23
413
137
90
248
865
612
682
411
969
721
196
65
924
477
730
647
264
877
721
476
932
840
249
157
856
372
327
940
84
975
64
336
495
341
754
612
560
842
333
673
920
995
954
220
963
419
880
191
165
863
937
450
632
918
696
137
637
241
932
964
237
353
235
933
922
110
981
604
707
827
309
504
923
607
934
59
438
196
118
459
956
274
732
828
472
619
742
663
675
212
186
27
116
269
439
390
96
985
696
27
891
701
819
60
224
755
222
18
992
916
437
711
913
800
275
543
316
492
775
574
108
586
413
223
620
884
833
843
489
251
527
50
420
833
859
519
98
975
336
515
722
52
205
632
635
300
563
496
380
171
679
38
819
273
436
618
27
50
647
782
513
473
383
900
734
108
342
315
954
616
131
82
857
627
311
710
86
894
462
823
888
124
662
179
664
781
645
906
332
408
216
745
284
75
588
345
284
108
477
884
249
822
371
679
608
881
441
768
793
522
366
773
326
238
406
510
112
395
389
718
628
688
113
543
100
881
446
341
700
833
998
366
905
453
925
963
849
756
901
849
702
714
674
416
91
696
482
206
788
971
958
87
272
477
259
163
631
190
712
699
801
264
568
291
858
208
436
378
655
992
74
16
607
909
321
377
436
190
423
299
825
987
855
778
740
389
766
435
328
585
905
245
223
526
673
997
24
809
367
21
547
758
217
266
926
394
238
980
670
737
26
115
363
328
320
215
376
811
563
261
28
944
24
376
568
225
14
440
428
813
122
936
419
781
294
964
869
125
728
530
959
303
297
984
397
978
175
490
174
806
120
537
729
933
512
707
784
870
66
277
154
123
786
114
841
613
954
907
797
880
425
798
188
233
722
662
69
847
160
725
157
717
962
996
280
969
588
462
27
258
770
475
740
525
754
237
463
426
387
648
495
851
832
231
399
563
262
469
334
24
221
812
262
597
494
141
493
627
873
857
853
77
253
851
162
602
194
839
558
689
747
675
734
894
150
413
287
510
399
652
232
355
380
416
556
416
249
215
230
157
371
347
624
501
102
74
959
118
804
353
743
83
148
645
597
479
738
171
880
65
19
93
623
801
404
274
207
511
329
744
178
623
930
751
724
273
107
114
676
725
984
125
810
17
350
545
567
74
214
242
222
650
318
676
520
746
17
252
618
847
769
929
908
710
87
518
918
239
298
998
499
67
422
546
278
741
227
210
558
921
474
673
582
14
530
716
563
109
913
171
255
123
758
557
10
268
681
282
578
742
376
146
900
341
105
91
994
179
519
282
588
292
494
891
456
346
383
910
517
412
514
711
138
607
876
256
664
640
291
530
30
850
306
49
548
815
552
56
984
743
226
676
379
826
267
180
90
72
821
711
494
190
270
979
377
309
171
298
62
561
504
111
519
877
781
822
428
684
830
372
800
211
886
63
389
956
886
533
321
545
551
579
48
89
838
562
563
160
603
602
352
832
726
932
135
133
497
538
22
270
469
776
44
492
300
606
802
885
789
702
16
734
962
525
94
759
904
215
156
808
257
993
128
789
836
222
500
624
671
216
130
92
38
655
907
763
211
780
221
591
377
451
857
207
310
73
44
555
775
124
171
512
318
516
471
305
996
829
353
282
94
757
381
257
388
981
331
30
795
985
947
971
862
220
23
421
318
299
909
296
21
595
775
619
495
151
426
625
845
524
346
36
86
939
648
142
953
30
629
224
135
370
36
263
883
218
476
242
737
164
227
286
732
482
673
956
38
773
220
275
453
860
569
992
749
379
496
129
654
673
491
596
166
181
304
503
655
269
847
168
605
15
740
994
565
16
179
734
583
905
880
92
151
226
14
775
755
538
589
800
724
906
437
393
995
36
824
542
369
20
959
596
633
683
782
332
122
727
615
498
143
161
175
102
653
250
813
178
839
806
222
273
488
727
869
44
319
783
336
347
76
140
536
863
643
32
634
822
454
336
986
155
910
317
873
719
138
321
856
276
152
149
621
615
353
373
952
202
177
829
38
729
909
724
335
451
245
867
166
311
929
523
318
739
773
824
939
318
40
401
572
516
393
192
64
150
903
899
449
260
607
139
889
655
618
268
286
27
972
269
524
730
139
986
588
813
244
885
684
584
14
346
63
959
208
306
64
962
999
586
484
178
295
134
740
454
303
977
396
687
537
560
820
152
764
496
916
473
636
396
209
952
457
372
876
803
539
538
39
552
398
982
132
847
80
382
791
906
211
649
820
914
806
327
545
98
686
547
562
740
941
752
740
627
622
556
679
380
419
348
56
58
511
120
140
490
922
986
97
605
65
959
105
167
634
752
394
828
210
697
140
862
747
347
498
203
454
932
567
149
972
205
166
806
615
599
894
884
335
656
862
120
25
939
656
73
940
146
36
368
437
396
608
266
877
250
576
531
82
979
107
376
569
972
714
836
993
478
436
136
752
177
901
830
899
797
784
889
937
132
920
639
130
796
750
177
239
122
353
47
630
800
554
231
412
40
403
213
464
137
587
848
584
418
855
484
153
857
502
680
780
166
626
216
440
273
921
804
483
432
294
728
809
672
507
993
32
685
822
733
241
866
803
953
425
519
478
546
257
45
798
626
71
954
603
619
773
34
379
308
47
201
204
768
421
553
146
617
175
928
101
992
639
934
95
767
474
833
763
597
425
627
994
500
46
225
905
431
96
582
991
964
594
128
475
109
817
875
262
639
566
953
825
191
293
517
45
812
214
564
894
432
374
64
636
920
837
864
758
561
579
889
695
440
435
613
612
451
641
829
298
58
901
451
784
678
527
336
72
869
401
380
31
987
978
14
928
780
295
998
200
181
528
808
415
197
279
884
645
622
724
29
323
506
556
973
673
863
191
967
667
49
675
845
882
647
827
784
428
591
815
972
562
209
251
718
817
219
807
397
13
595
870
84
906
212
482
920
855
252
868
232
288
840
84
798
959
968
538
576
547
630
147
940
138
269
894
255
571
973
704
408
718
27
85
695
906
895
540
413
390
782
582
376
716
631
233
723
728
732
38
61
180
845
119
289
39
596
646
410
221
412
687
493
896
940
339
857
997
562
263
912
695
615
228
202
660
771
166
217
340
818
502
408
971
396
451
128
968
764
561
484
637
169
600
24
281
688
650
525
653
544
606
559
502
452
37
94
35
412
382
437
110
699
769
689
21
660
561
323
388
931
611
290
956
746
535
979
942
616
876
704
961
34
336
874
851
716
81
381
757
914
265
218
411
43
281
36
648
891
232
728
638
820
480
489
292
630
667
303
541
206
950
497
471
370
144
678
553
693
288
69
262
234
503
903
519
655
88
142
147
201
598
598
191
296
791
707
450
433
435
154
317
728
186
429
649
305
899
59
202
395
221
346
401
508
601
290
470
109
213
392
834
459
231
61
142
312
169
847
622
725
551
536
871
194
318
315
637
276
973
404
84
678
613
388
579
384
137
872
267
316
698
336
683
262
798
709
164
572
816
95
868
509
181
775
504
211
392
324
872
762
514
915
797
718
923
481
994
251
883
14
256
719
413
882
825
360
246
823
888
878
477
712
850
992
722
923
457
557
777
226
433
340
357
101
215
377
313
526
514
915
525
712
777
626
621
13
701
776
222
214
990
883
390
832
386
276
165
440
727
554
420
768
29
395
734
20
340
674
458
686
976
375
377
476
909
545
392
705
290
865
288
18
870
195
832
455
576
139
795
801
833
16
680
182
216
379
330
952
735
354
573
25
867
592
211
886
306
389
107
772
691
534
546
721
765
211
841
498
143
162
240
33
833
713
387
266
97
208
515
502
644
461
126
858
487
407
630
133
506
815
265
51
554
524
752
918
297
391
462
520
761
944
842
116
651
405
937
475
425
294
810
944
691
367
209
663
896
471
199
155
735
727
85
415
420
960
256
305
830
641
121
80
948
706
372
693
210
736
872
227
505
59
375
340
287
338
728
320
921
278
413
646
533
937
314
811
732
742
757
766
569
908
226
404
233
807
226
501
378
238
338
604
161
928
950
726
397
42
141
728
70
787
823
800
575
673
94
590
517
738
938
356
184
473
415
691
689
276
232
87
745
442
134
363
475
189
950
383
147
171
879
439
437
412
564
352
477
600
680
979
186
969
231
634
50
32
229
588
339
266
198
362
762
738
511
605
403
959
228
736
683
623
37
163
622
942
34
338
50
302
955
947
888
19
364
617
763
68
456
735
208
433
389
141
921
626
731
415
117
715
224
10
396
261
499
765
463
644
330
75
303
907
752
175
835
889
857
273
315
448
939
723
783
163
278
45
25
975
977
544
319
41
589
499
469
180
726
117
667
684
157
31
891
91
985
904
363
542
403
664
733
287
23
359
747
649
83
729
983
86
487
897
949
279
46
357
878
944
917
121
847
26
306
932
946
778
667
274
890
298
988
76
455
891
569
786
177
358
156
238
907
371
692
30
684
902
485
584
904
814
930
797
273
791
450
89
402
560
447
960
343
553
505
693
278
828
105
703
694
212
765
945
528
677
232
269
501
65
631
255
702
307
31
867
174
583
503
900
391
961
603
235
144
395
275
295
841
66
183
901
998
327
975
50
551
438
290
750
92
285
52
499
334
904
253
426
587
916
995
382
534
315
728
225
819
719
997
217
208
955
396
219
710
436
673
710
282
438
132
651
484
736
841
145
411
333
918
59
361
820
980
235
121
497
62
253
595
44
744
415
191
875
423
924
282
487
687
954
292
53
346
404
304
569
273
185
333
77
219
81
951
77
685
698
544
494
268
843
287
256
91
422
117
743
211
512
350
635
323
115
186
234
259
892
465
75
298
505
507
366
736
881
375
921
623
716
863
305
917
15
220
492
361
445
802
369
376
821
550
310
85
329
390
954
339
135
659
445
404
521
126
21
687
21
878
256
294
947
167
42
143
314
160
47
443
92
328
627
678
379
218
853
345
804
153
223
481
953
659
515
307
898
835
887
579
455
991
532
296
951
827
475
49
727
459
232
245
298
889
929
693
542
884
431
44
153
174
49
806
108
767
43
540
164
491
377
248
717
875
643
713
516
272
169
74
85
136
456
258
276
112
398
482
302
246
881
322
960
205
938
448
121
520
446
921
493
971
380
789
330
746
247
58
477
124
589
843
230
425
641
73
490
185
861
139
317
886
262
987
104
182
513
30
531
19
207
779
974
380
623
294
11
614
413
760
979
898
577
489
960
356
165
674
95
836
252
854
983
661
642
212
850
361
848
454
681
534
52
700
918
868
987
402
24
271
70
26
886
629
588
108
116
712
129
578
885
27
461
359
108
513
849
27
388
314
709
385
697
986
599
803
973
866
442
183
743
169
806
674
242
61
436
667
157
409
38
886
785
768
500
684
140
864
485
402
756
266
948
457
828
218
710
591
971
157
759
698
763
366
104
985
576
998
983
495
995
678
288
688
496
567
708
561
780
79
530
342
502
169
148
918
139
692
127
772
555
883
562
653
991
453
836
589
182
910
198
367
467
587
467
455
956
379
525
784
887
339
966
651
147
995
924
515
712
287
764
411
938
632
786
106
357
825
408
426
229
885
814
646
689
300
497
902
642
176
460
310
367
555
302
620
342
666
159
307
31
567
552
340
210
111
106
908
531
331
100
976
933
333
186
183
373
585
440
247
68
562
985
651
829
729
969
677
611
292
337
105
175
611
434
823
616
60
452
575
637
689
521
177
396
700
377
730
129
179
242
272
449
580
971
910
458
933
145
995
275
326
618
711
197
199
991
783
832
121
618
957
472
980
21
690
718
765
995
488
519
516
742
767
406
353
785
407
256
840
263
696
679
392
605
864
676
62
664
230
604
682
806
757
129
401
799
312
826
938
624
676
731
819
785
665
997
12
44
207
158
357
733
761
835
175
765
929
699
468
727
815
783
96
69
409
669
786
483
250
829
423
49
95
97
222
54
182
550
281
714
750
227
666
707
634
324
157
710
614
127
906
935
382
697
821
341
432
421
438
165
40
374
906
528
676
961
944
974
333
180
11
932
503
50
327
683
945
343
520
934
494
251
812
187
696
24
165
966
766
402
216
544
615
529
133
788
72
183
876
555
97
692
200
428
287
325
703
389
196
564
271
704
253
942
19
928
753
387
804
971
378
733
617
670
630
17
476
356
21
79
946
390
55
202
976
526
201
782
744
822
221
975
744
361
35
679
36
641
325
71
464
318
98
704
988
376
526
667
15
83
376
138
847
904
415
683
436
70
569
309
598
286
842
216
742
258
166
207
641
630
489
654
344
472
520
247
707
290
938
71
125
270
377
846
625
331
872
710
497
544
260
78
350
407
702
936
249
874
978
661
147
21
117
421
99
327
530
212
548
640
160
690
985
56
329
273
596
112
175
623
681
290
668
257
713
897
944
503
550
429
560
433
709
150
536
527
375
391
645
339
210
110
18
440
526
303
535
669
170
228
534
406
888
362
722
594
854
832
566
307
273
121
164
643
473
54
420
481
340
389
879
455
210
621
217
993
289
354
989
715
272
171
788
167
717
472
366
782
752
81
40
10
865
927
162
281
712
595
19
886
145
547
536
713
617
457
562
136
508
937
50
531
530
848
332
256
41
240
342
846
733
406
386
219
748
393
560
142
828
629
442
529
538
84
605
51
781
453
638
791
798
55
327
391
817
729
653
815
726
702
377
874
941
272
772
268
752
649
185
433
999
985
842
835
495
435
29
251
354
783
483
490
429
513
436
422
149
544
925
594
370
313
10
920
443
444
487
973
944
25
519
97
989
902
999
783
664
155
42
869
319
336
73
166
886
508
779
376
125
245
298
417
796
103
663
218
254
773
324
581
310
886
279
410
384
54
229
449
215
22
816
927
897
503
473
499
988
491
496
765
14
594
104
462
111
739
660
562
641
836
986
398
36
544
87
419
298
158
435
144
12
247
598
355
484
267
412
860
902
642
319
930
977
566
475
300
926
324
139
879
615
64
960
126
146
176
311
994
711
615
995
544
84
467
340
275
624
752
849
49
270
872
389
170
586
834
218
429
46
724
829
795
902
162
681
89
562
752
771
840
561
248
394
799
330
592
593
313
25
589
962
371
693
513
724
367
431
384
447
934
986
824
908
318
905
786
297
586
367
495
495
910
452
54
317
863
815
566
613
540
878
23
410
237
483
175
937
190
242
703
245
744
921
468
717
847
461
255
575
721
108
169
497
606
846
691
464
918
421
70
390
389
987
595
658
36
608
733
386
787
704
946
620
382
434
286
621
835
553
537
616
66
172
420
88
23
108
260
499
985
486
129
705
570
133
796
138
598
506
565
572
662
382
642
706
929
902
804
641
195
120
101
611
766
308
308
295
672
973
126
709
192
604
94
54
614
664
924
31
306
565
984
114
281
847
446
138
608
355
243
62
20
203
148
882
114
296
911
134
904
785
497
638
566
625
496
369
696
681
629
387
640
351
624
625
289
45
156
667
507
512
17
551
930
567
760
768
119
718
704
883
314
837
532
123
901
218
75
657
852
391
185
102
787
539
204
742
554
662
779
769
793
317
930
437
763
749
78
495
523
125
272
213
205
180
882
179
600
605
439
142
248
944
911
296
916
592
602
499
216
447
955
507
658
256
107
231
429
448
767
446
323
883
241
782
976
323
365
804
921
550
477
648
433
138
359
207
121
770
898
73
543
753
262
257
904
999
626
137
833
301
46
489
373
644
998
591
173
67
270
511
637
443
132
130
286
670
962
780
519
409
511
495
435
561
955
844
951
532
367
317
994
981
505
131
240
156
584
950
356
898
126
987
46
792
820
561
695
149
538
135
284
20
172
363
560
582
226
516
396
484
96
600
652
925
650
470
737
880
500
825
847
854
229
694
979
656
570
28
546
927
848
255
442
541
195
743
51
888
83
58
437
990
12
106
261
173
968
153
187
756
364
656
68
858
28
437
288
901
367
706
229
771
530
467
766
204
237
685
156
431
132
524
15
435
408
208
509
888
297
164
137
557
311
226
982
641
517
805
879
344
377
868
270
376
526
229
946
809
883
93
162
587
271
25
260
507
259
730
278
601
955
183
838
475
389
295
604
245
794
940
994
927
103
678
670
572
449
814
173
253
144
250
789
233
838
822
360
13
80
610
963
148
276
144
550
673
769
792
417
96
464
495
912
718
286
436
545
242
991
860
528
198
437
687
691
736
37
859
31
718
710
64
421
944
509
346
721
751
336
186
480
316
182
899
308
29
551
849
641
867
887
945
992
346
213
134
578
216
263
584
684
220
97
315
264
20
846
975
951
558
219
182
58
104
943
127
271
204
629
185
376
270
293
646
811
433
270
341
556
817
102
802
662
799
339
320
713
628
182
450
386
761
389
54
607
76
56
26
370
382
584
441
764
112
280
599
402
582
841
95
672
903
331
306
794
35
401
520
230
973
224
609
326
178
501
202
616
950
504
498
789
303
122
389
255
172
229
564
343
296
753
682
944
124
874
316
864
720
988
207
157
948
975
149
615
582
149
163
939
976
740
370
91
400
889
230
190
476
455
337
352
560
321
36
336
361
547
129
14
621
580
487
782
156
906
196
963
296
98
985
274
266
828
322
978
697
997
24
824
951
653
264
228
722
531
446
885
699
41
775
531
346
802
195
921
390
78
599
628
178
846
100
430
821
281
30
563
183
103
812
145
526
486
425
564
96
77
60
467
150
121
507
518
645
953
937
775
78
747
815
519
53
270
575
476
678
316
20
738
267
173
46
970
432
783
717
752
54
597
174
610
915
690
32
989
573
70
135
91
291
567
83
920
103
590
116
938
203
348
778
820
149
912
842
382
991
64
897
953
421
188
895
138
159
692
420
586
603
257
986
621
514
960
669
911
116
68
894
462
778
450
472
961
579
949
217
789
306
553
344
926
363
765
328
399
303
932
330
109
404
928
122
79
990
124
502
318
814
427
45
848
583
813
249
495
387
448
933
255
92
577
592
311
600
599
213
551
311
641
254
770
110
762
463
989
126
214
687
508
950
176
555
185
237
342
977
749
868
677
993
98
881
482
306
271
171
521
244
839
302
573
824
785
688
908
374
104
615
417
751
995
825
361
286
47
236
646
641
770
976
410
53
597
909
748
411
657
97
682
961
350
531
643
557
668
161
318
431
471
459
598
834
415
570
370
552
593
575
952
480
861
726
387
884
840
264
627
184
622
725
616
830
253
545
373
10
946
495
650
944
746
507
855
403
629
894
244
162
448
643
478
527
796
662
478
526
614
793
650
903
394
324
446
691
707
901
351
228
396
769
349
318
264
41
528
688
846
668
892
687
818
767
275
121
715
220
644
84
646
843
523
968
288
472
554
484
345
807
509
800
726
458
668
322
672
439
989
840
265
514
115
598
974
23
998
962
386
742
689
429
100
542
192
81
834
921
379
59
116
424
445
813
498
498
76
464
786
995
756
839
951
229
33
892
129
839
696
933
771
407
705
602
132
956
820
720
338
539
552
103
905
340
765
422
402
111
694
878
544
699
691
389
380
567
779
608
282
594
620
150
967
95
211
728
939
354
972
684
965
232
268
478
307
393
815
362
935
24
145
352
81
282
729
162
520
713
788
664
864
786
867
500
326
209
391
490
638
647
324
912
499
798
725
916
485
771
387
867
947
846
822
73
402
781
674
532
816
979
753
12
923
214
382
867
146
697
637
412
577
527
268
254
908
34
592
986
479
278
504
139
48
498
257
54
173
879
304
203
49
593
151
395
132
354
343
635
339
276
741
405
850
399
921
311
694
610
34
458
813
439
862
143
39
312
655
285
353
204
879
740
560
717
705
976
930
417
352
512
18
22
476
628
642
489
905
768
255
562
84
764
601
496
108
440
908
699
410
238
73
104
31
432
923
813
246
734
332
292
370
560
643
936
805
551
738
945
965
117
32
22
492
471
268
676
701
596
702
657
180
33
901
739
997
754
318
597
762
250
495
687
460
743
530
777
811
583
937
484
131
543
30
233
821
690
788
528
993
993
314
745
99
352
324
505
591
898
794
440
399
224
268
61
404
634
654
873
547
100
750
399
371
298
680
463
621
537
230
420
304
221
195
846
15
274
777
847
965
483
971
433
963
264
650
772
757
403
991
448
553
223
737
948
327
559
724
162
832
613
628
772
937
619
869
532
204
403
293
964
631
780
975
900
989
179
811
967
488
375
926
524
436
377
71
874
468
277
579
111
623
837
201
638
872
165
681
736
449
395
335
100
264
343
514
647
17
901
751
324
530
522
745
633
510
897
436
604
622
968
80
163
345
426
504
644
643
780
160
417
833
892
655
811
683
37
962
31
816
675
655
341
663
362
513
94
32
100
339
738
558
854
28
152
671
416
50
448
105
74
623
367
622
604
96
415
377
922
762
192
538
840
161
220
418
396
902
668
642
419
980
894
753
383
12
696
210
554
110
849
818
344
157
686
413
40
157
366
594
458
898
765
692
875
933
79
883
400
391
56
948
946
909
934
769
916
423
423
729
566
217
50
804
581
368
269
158
774
370
729
88
395
189
484
234
971
404
634
607
199
881
544
907
791
976
203
19
93
190
602
806
723
142
383
880
910
982
964
367
547
806
653
642
756
250
356
928
769
439
724
36
360
561
504
17
552
461
127
925
104
765
541
961
742
242
275
822
353
520
964
853
115
810
206
824
914
448
759
352
976
340
805
770
753
553
864
238
850
434
513
920
375
289
697
982
216
672
687
417
533
697
710
529
708
187
315
16
425
224
110
158
541
595
244
988
125
162
815
26
771
416
118
197
60
436
618
886
744
376
308
529
471
960
29
373
396
630
104
89
645
831
494
812
986
693
68
634
583
470
469
306
248
120
290
86
337
604
242
536
576
810
878
976
133
620
889
422
336
225
425
16
34
226
475
134
424
422
366
678
204
766
183
80
600
568
16
275
446
405
408
939
344
276
632
694
939
815
372
344
426
574
47
994
27
115
980
58
698
264
482
495
86
824
894
725
731
844
225
64
688
631
100
224
997
966
105
450
454
513
179
367
976
854
430
21
27
213
664
123
499
238
709
472
793
917
42
731
734
268
134
442
198
798
882
910
99
659
195
100
766
764
757
436
348
874
299
169
716
406
540
424
682
605
932
625
574
778
551
494
210
160
506
711
171
469
178
913
336
517
651
94
570
505
288
560
318
417
320
198
82
740
204
24
266
624
914
842
193
874
938
607
661
751
297
939
824
496
174
121
695
406
403
858
778
654
215
409
982
598
76
825
334
302
995
811
849
174
410
311
903
725
789
463
71
103
211
379
479
403
747
841
763
392
380
238
697
41
355
744
313
594
197
592
469
729
438
331
417
32
145
252
732
749
338
295
332
76
504
613
908
468
655
448
551
783
580
555
725
666
156
928
151
803
214
626
790
539
26
420
305
998
245
852
751
630
441
373
642
717
518
849
634
941
298
428
370
156
901
501
255
46
630
117
601
423
758
971
562
874
384
264
803
883
902
228
221
484
66
239
677
358
493
864
389
608
938
496
190
21
740
312
504
490
325
844
803
361
390
285
754
188
590
110
655
450
460
992
898
540
532
81
584
535
361
805
638
732
562
918
916
202
430
376
737
155
626
32
671
858
229
103
754
629
691
796
397
343
83
463
931
329
990
520
781
263
794
636
659
938
670
869
768
479
661
702
557
442
347
618
807
892
892
339
823
249
567
971
818
811
325
88
809
319
969
460
447
400
835
667
544
852
119
477
996
743
245
200
501
997
629
249
833
146
273
405
313
374
46
297
873
135
474
258
973
308
445
653
816
367
820
456
773
565
193
74
355
997
933
763
920
442
730
684
878
379
181
922
995
957
943
344
378
74
116
317
405
683
898
759
815
738
800
163
851
63
438
71
976
665
960
979
389
299
812
946
741
100
59
552
667
320
861
521
508
307
778
150
676
359
161
954
573
107
27
740
814
813
14
447
186
140
214
218
316
598
377
933
212
283
663
382
212
31
887
376
680
760
120
491
77
234
526
86
24
228
784
536
229
367
723
637
349
448
977
429
548
175
211
683
105
194
172
615
654
895
99
713
799
153
443
18
444
230
396
930
538
914
40
174
814
119
88
349
286
936
430
571
14
453
594
325
605
13
130
612
529
345
480
922
364
982
280
289
808
880
104
294
763
643
109
392
53
299
942
951
476
626
581
793
614
696
389
95
401
20
609
93
72
922
418
842
750
831
60
991
50
541
140
272
872
742
313
759
903
999
602
349
345
193
777
937
755
441
67
76
837
890
563
425
848
473
160
593
422
385
811
271
525
307
615
810
129
121
121
72
325
136
552
839
558
770
434
651
726
939
89
241
23
331
566
57
679
473
27
324
243
161
455
480
328
693
673
350
392
820
644
609
952
414
409
501
617
58
764
692
184
706
168
422
955
360
217
343
388
955
329
637
688
38
787
120
927
853
334
728
927
412
414
159
41
758
962
834
288
668
247
839
495
442
25
798
936
285
231
635
302
391
97
667
852
786
479
89
372
560
653
777
642
270
275
392
655
187
569
124
96
677
56
109
798
212
600
129
118
254
938
491
675
848
669
352
390
894
119
844
804
760
866
326
825
71
956
818
169
242
750
460
620
349
51
347
248
377
848
882
926
493
816
735
627
750
944
507
967
17
694
891
793
563
380
148
835
909
963
950
33
346
109
229
618
454
496
468
374
885
807
626
927
865
708
523
632
824
76
453
653
838
368
11
201
164
606
343
705
946
512
574
738
958
961
118
755
439
737
119
793
117
728
254
143
87
828
609
146
81
380
166
198
724
485
974
123
259
114
158
208
439
300
442
551
702
311
969
286
494
649
499
594
507
673
736
498
759
100
82
385
672
927
162
247
461
612
379
18
88
818
497
496
448
304
162
828
276
57
78
862
144
545
452
858
272
50
328
910
59
919
746
575
95
276
808
133
427
479
344
224
115
900
711
986
477
942
741
909
447
156
546
425
122
301
560
556
753
160
610
530
723
915
675
605
49
119
214
435
918
37
141
968
531
109
794
106
819
132
442
572
311
450
755
933
940
369
167
61
276
759
250
366
261
795
733
534
62
516
243
103
39
393
726
720
916
250
209
974
336
558
824
232
995
413
233
594
93
245
581
925
657
187
214
69
262
508
159
848
235
951
15
321
943
209
531
877
639
205
219
44
587
606
463
190
232
435
336
404
998
286
922
692
697
155
489
300
78
207
699
47
703
122
226
842
528
299
407
95
66
280
530
701
996
872
728
736
552
726
666
936
900
557
724
861
338
297
307
635
476
645
849
297
629
644
104
394
146
301
359
993
928
576
801
305
743
878
342
340
874
882
966
302
947
756
896
55
303
692
546
350
420
906
718
842
219
853
28
764
695
11
972
492
66
83
685
540
289
175
694
22
226
786
432
121
475
969
537
714
308
874
211
857
916
687
354
156
344
281
379
825
901
217
530
55
837
720
649
364
178
798
996
928
563
164
18
600
656
442
642
448
318
30
694
985
807
459
819
621
158
769
600
487
135
134
670
900
10
841
639
576
720
521
602
662
430
790
566
616
954
496
637
371
130
152
736
207
973
77
686
339
523
426
204
307
890
153
435
97
519
679
193
125
96
328
591
937
641
80
257
507
669
603
592
629
236
132
694
957
624
649
219
584
304
167
509
335
804
996
442
904
727
665
700
512
109
920
194
364
995
418
291
946
338
663
165
379
26
825
253
700
827
621
403
608
64
182
383
767
384
380
475
444
485
870
127
88
643
472
916
319
868
942
587
445
550
103
247
130
895
990
405
262
547
659
696
205
468
590
913
481
338
964
861
465
279
925
211
608
625
706
234
151
678
773
320
435
426
224
658
528
568
611
964
181
333
517
462
169
791
409
681
268
304
991
925
505
665
710
884
490
958
344
849
465
525
585
255
250
957
619
682
869
151
230
699
582
577
373
186
783
299
764
524
224
798
55
895
409
578
802
793
429
166
793
671
836
487
185
559
823
742
39
80
50
575
856
180
159
718
384
230
339
699
452
924
609
207
194
839
756
596
585
15
71
129
67
219
913
525
406
572
741
179
332
904
281
132
146
817
786
787
976
109
668
260
531
366
224
867
562
829
646
690
941
707
561
812
537
227
401
929
858
76
266
820
767
959
689
326
89
122
527
879
584
830
830
874
124
132
442
529
683
402
716
889
56
551
513
940
915
850
485
164
811
574
676
877
806
637
607
53
70
163
861
753
38
974
318
962
98
987
115
974
408
510
755
895
844
727
738
820
207
247
340
140
819
553
479
174
624
239
740
346
482
113
349
168
719
224
846
914
316
907
925
893
838
110
420
434
896
420
884
128
141
495
518
670
42
301
301
558
474
383
919
677
774
795
700
798
28
366
260
807
290
619
640
100
562
283
238
46
372
605
281
237
924
686
735
532
319
993
677
770
243
706
513
823
159
102
649
740
859
553
238
502
139
320
845
75
563
624
977
198
215
232
991
924
518
156
217
34
169
210
546
588
964
294
434
225
558
930
137
505
983
612
671
87
569
815
669
207
25
675
607
78
112
21
188
767
616
647
727
951
559
170
383
870
391
872
888
690
964
283
336
615
30
913
115
332
182
751
313
853
174
142
109
164
66
41
605
908
916
790
857
762
980
271
874
408
611
843
28
339
709
707
281
99
369
536
191
108
350
675
387
922
662
478
360
70
719
156
349
640
657
694
827
42
687
628
664
677
337
410
46
917
593
866
72
67
524
401
831
584
360
228
407
497
245
627
839
235
540
419
137
284
776
931
419
875
625
686
359
131
182
288
88
389
71
87
714
528
166
149
370
430
774
336
475
564
443
753
548
253
993
83
397
586
564
607
227
817
709
688
994
661
775
234
307
930
216
30
327
508
230
14
219
540
720
990
886
358
162
576
757
434
322
845
582
342
757
997
182
729
145
576
768
316
799
15
531
299
813
917
90
477
801
650
369
445
449
680
739
250
732
821
280
134
690
480
66
502
47
244
900
863
968
672
925
640
198
93
988
997
37
970
450
481
673
728
659
624
971
802
355
268
687
773
774
286
994
686
922
559
976
494
921
829
715
571
600
265
993
94
628
229
415
476
939
490
314
65
506
907
41
623
695
156
431
918
346
730
524
641
75
439
895
971
996
325
951
512
109
811
644
883
44
746
861
325
911
531
27
860
653
732
482
418
346
897
548
12
890
291
759
131
814
479
814
599
476
131
272
326
865
704
917
618
785
388
682
409
831
390
844
876
451
832
12
175
67
452
357
742
515
547
660
75
951
315
71
345
731
716
675
428
332
579
775
416
432
830
123
399
275
136
796
138
442
501
545
262
207
470
772
98
654
134
553
468
343
12
656
851
290
61
800
995
989
917
178
655
155
494
334
824
133
857
238
224
624
190
788
970
246
740
550
476
452
311
473
749
494
623
843
669
270
336
758
342
196
138
622
208
362
521
289
958
199
849
407
112
192
140
25
549
152
71
826
666
434
931
105
355
241
940
737
195
981
641
152
959
566
122
313
666
448
848
363
938
626
488
575
338
737
557
721
180
237
769
140
618
146
307
853
884
925
731
778
752
449
942
413
598
906
412
959
682
29
660
459
502
852
678
290
592
852
332
76
955
204
144
464
94
229
450
80
321
724
558
778
517
335
948
356
590
190
539
891
129
420
269
194
34
359
152
710
699
694
150
810
242
764
402
477
177
523
662
665
925
233
96
338
394
721
255
413
231
672
494
134
529
652
71
262
678
730
794
11
742
321
496
677
279
952
405
164
628
678
211
278
759
516
192
383
228
111
650
442
772
829
581
772
395
455
109
43
78
886
758
534
911
556
852
880
143
612
718
555
297
842
877
356
193
638
812
803
365
954
994
472
162
176
659
989
17
113
551
895
860
92
573
547
597
226
873
744
692
366
957
855
372
246
352
203
633
740
71
701
923
391
548
943
481
177
934
255
994
999
742
709
656
434
251
854
866
577
998
732
522
35
363
573
446
964
986
848
757
79
104
841
291
730
707
791
335
543
399
673
465
915
290
325
827
664
693
712
753
974
90
288
652
523
91
532
784
677
839
121
681
941
153
69
327
805
162
848
217
526
600
10
470
239
392
280
744
669
479
169
105
987
501
74
367
60
853
997
450
250
699
465
433
679
658
608
391
842
715
537
836
192
710
825
607
226
281
409
488
719
87
404
859
267
970
285
27
134
85
161
20
312
922
15
490
826
245
750
494
800
431
651
443
115
150
537
59
80
903
695
813
593
802
928
284
269
342
970
828
935
377
700
863
423
81
980
328
608
205
440
202
209
97
852
993
783
208
280
895
706
407
119
480
481
964
217
532
256
316
400
769
24
484
266
568
432
230
745
350
317
668
556
998
42
245
16
428
452
771
810
547
746
838
388
922
137
819
116
739
619
768
390
758
253
786
190
429
40
113
902
493
61
263
351
309
35
900
22
92
332
808
26
715
314
750
537
991
214
697
379
176
202
621
644
129
935
284
928
500
466
156
337
35
570
77
179
980
18
871
648
396
718
498
840
638
639
121
423
323
960
434
129
274
675
668
594
360
147
229
565
414
105
233
652
993
416
265
62
292
761
409
995
819
269
225
807
113
447
116
67
836
215
624
965
817
218
912
158
551
455
167
554
875
86
391
700
481
207
426
123
108
706
577
127
921
788
805
224
991
770
639
603
870
716
880
808
705
533
355
524
555
155
947
708
189
696
646
842
625
222
232
37
245
169
775
280
443
643
722
845
470
66
638
496
978
627
702
319
710
256
230
803
648
306
204
864
663
758
252
622
45
714
746
209
636
200
139
211
622
900
655
971
931
735
600
508
627
707
974
393
298
539
370
739
839
542
854
681
570
344
964
662
680
670
126
860
86
713
344
121
908
622
722
368
399
457
286
661
534
763
496
768
856
945
344
625
619
638
190
590
794
35
722
527
471
637
702
713
745
907
728
852
425
312
983
824
346
629
725
710
595
631
889
148
230
24
74
799
821
300
253
193
469
90
53
109
891
544
19
922
417
275
956
718
311
720
435
269
102
561
821
125
198
908
619
452
947
508
590
313
666
428
419
650
204
713
284
103
302
973
87
411
533
438
288
331
97
378
507
206
378
148
770
734
977
432
264
753
747
657
647
419
771
934
285
875
122
979
827
786
981
781
475
225
921
112
499
185
742
810
962
580
516
494
570
221
46
69
938
948
179
81
549
601
354
168
115
275
815
586
42
802
769
775
712
901
861
708
135
346
106
278
700
974
283
751
594
188
657
131
526
259
231
820
463
855
787
329
461
247
353
403
277
248
357
878
152
236
377
818
880
925
974
633
751
691
223
757
940
234
948
623
433
194
22
357
535
808
595
973
640
324
206
658
353
100
878
638
775
723
687
381
620
312
337
113
227
327
817
323
303
31
189
273
639
873
856
564
344
134
643
817
986
182
449
684
755
732
405
336
696
290
57
505
658
525
100
654
740
33
186
462
920
872
286
95
918
170
232
179
132
710
125
882
487
959
102
291
449
10
354
718
761
186
595
404
758
695
187
949
707
658
691
544
26
803
111
51
573
627
847
179
889
919
743
321
257
988
249
782
807
443
997
22
230
688
454
85
702
857
12
618
322
910
839
965
209
843
946
454
862
622
149
154
558
707
946
377
951
975
898
121
620
408
42
367
981
255
186
936
244
365
987
289
363
563
927
78
416
836
324
111
702
501
995
212
312
428
359
93
886
833
383
932
485
140
242
375
159
54
606
647
337
290
237
895
721
326
47
204
205
65
993
559
188
922
889
772
674
366
601
248
558
699
648
17
522
189
600
157
342
582
637
430
608
445
267
222
257
172
379
975
703
824
801
235
676
559
929
292
367
70
801
581
349
894
187
494
91
343
226
779
214
732
548
573
441
12
348
49
34
947
218
199
345
679
426
17
668
526
53
165
844
777
624
452
64
284
464
438
621
649
978
235
526
380
326
195
196
129
994
868
954
286
803
225
897
434
268
349
590
237
349
218
176
887
618
189
724
919
848
269
863
148
442
134
328
320
779
847
227
187
931
12
764
999
40
334
494
96
305
146
624
714
444
929
582
962
459
26
397
982
465
122
825
989
117
666
880
686
589
26
361
527
924
561
410
135
734
369
41
279
150
733
135
686
437
140
573
662
999
760
86
121
866
849
259
322
264
549
109
525
165
677
398
700
227
28
905
129
243
708
788
627
803
60
446
493
506
452
170
788
83
197
44
456
430
801
181
528
528
87
513
866
749
108
379
342
149
815
518
711
903
904
455
637
148
616
827
253
807
557
53
663
354
275
519
430
198
374
313
697
737
397
922
486
448
526
110
439
172
467
752
649
864
218
823
909
508
522
980
50
656
765
216
978
434
264
426
453
496
147
932
464
881
863
940
449
12
806
23
704
539
843
408
36
710
741
820
425
590
29
814
528
34
516
353
356
63
382
64
194
867
122
442
880
720
346
151
828
922
28
248
735
783
406
254
40
323
442
564
182
428
310
911
273
928
703
827
816
901
51
217
800
201
167
517
31
177
329
820
719
466
931
109
589
440
813
456
279
748
157
542
148
768
645
39
332
134
602
541
570
300
174
650
508
500
928
662
51
664
516
170
330
177
637
668
962
777
267
135
208
270
390
59
10
127
35
525
253
481
771
390
440
990
312
30
760
358
806
90
645
361
46
182
630
402
349
416
610
756
66
508
51
363
32
351
542
168
255
392
854
837
405
289
978
371
405
792
245
688
676
777
886
719
840
674
800
797
352
108
510
393
446
93
404
881
780
91
784
925
207
546
352
612
629
106
996
150
466
751
212
290
717
632
199
938
84
50
285
722
397
14
352
999
942
151
25
787
78
435
652
390
894
918
140
940
418
310
349
843
358
677
556
792
651
460
13
125
731
16
837
539
546
217
965
501
204
288
73
99
911
32
464
425
430
294
159
496
71
324
348
823
801
254
613
733
984
78
648
989
34
779
625
705
759
533
914
342
606
236
134
309
114
865
727
908
253
961
624
293
781
920
285
411
948
957
709
936
116
29
883
57
584
340
52
88
982
635
141
247
389
623
211
686
297
507
639
185
88
101
414
171
120
924
669
53
413
655
125
50
864
345
268
493
259
819
105
769
747
690
350
146
553
541
357
403
885
662
41
164
677
241
502
221
970
725
169
482
231
473
44
166
713
714
347
920
427
236
714
416
197
467
924
313
387
168
975
951
488
405
265
829
103
195
467
118
150
957
213
736
877
443
870
666
806
852
419
759
217
491
687
38
113
807
590
783
925
507
711
424
980
984
304
536
619
583
45
94
579
117
614
580
802
209
227
206
758
336
229
996
66
827
979
262
903
747
512
790
794
593
851
73
447
399
264
815
183
110
199
795
554
961
202
319
927
834
87
257
951
522
853
612
413
61
797
957
315
612
234
775
287
806
458
666
632
271
173
552
632
377
998
728
594
619
443
378
995
678
455
609
642
814
711
386
513
330
729
997
907
519
662
69
150
408
185
900
644
84
928
158
718
515
695
901
480
863
110
960
465
406
479
420
437
421
85
222
472
376
548
799
349
475
792
357
488
369
767
136
682
485
573
768
300
647
337
531
454
231
57
907
388
299
562
269
938
132
852
50
446
366
655
960
66
919
813
281
918
735
603
99
456
19
830
309
398
76
87
171
585
180
543
501
496
163
486
546
784
201
503
295
502
754
151
679
593
351
961
645
620
590
931
570
956
151
663
892
586
703
784
481
671
829
669
117
255
610
844
107
574
436
154
332
65
987
79
41
175
119
695
221
679
609
984
765
382
982
317
795
138
508
946
386
342
663
624
373
808
192
885
180
804
905
616
588
228
730
751
670
800
791
537
380
804
334
108
519
603
606
180
361
461
890
358
418
102
10
395
549
849
247
624
986
286
951
153
192
348
376
296
825
903
123
478
685
573
95
595
751
760
331
721
668
773
891
95
783
930
160
717
730
141
461
81
787
740
214
701
73
916
282
679
436
339
293
15
56
665
768
662
999
526
335
489
46
998
170
524
765
519
817
53
881
108
165
828
232
222
512
713
665
634
517
97
463
781
886
78
617
752
32
956
338
288
238
968
342
424
861
929
138
865
850
871
15
563
548
506
988
431
88
155
540
823
182
532
95
211
358
222
213
98
93
955
941
312
999
602
854
498
910
532
585
199
493
911
296
679
786
359
488
861
605
771
528
731
468
662
397
171
857
631
852
36
696
744
242
530
343
982
653
200
970
978
843
215
690
181
837
818
665
235
630
745
885
852
444
677
158
960
102
124
416
635
509
917
290
526
955
951
390
953
430
336
779
412
101
501
71
334
193
173
624
25
269
758
243
799
502
227
267
604
919
489
954
980
793
528
766
83
590
528
643
896
355
691
80
978
440
794
748
581
452
795
909
464
285
425
632
554
475
767
68
57
767
235
888
816
17
432
409
357
838
196
320
453
474
652
887
345
301
674
671
662
822
271
701
290
971
164
470
136
648
226
817
39
108
808
603
123
864
267
219
453
902
28
795
705
102
86
193
770
505
405
131
433
506
491
744
614
437
439
522
633
286
142
841
726
773
829
38
151
69
697
685
131
504
496
315
611
923
497
387
518
272
954
537
891
74
58
165
959
305
466
253
427
308
620
918
72
295
12
268
692
789
912
247
282
744
280
634
299
908
281
573
728
508
949
255
215
671
681
883
883
299
111
711
981
457
291
917
624
335
357
311
552
906
591
421
839
697
353
747
735
472
232
967
585
883
882
591
802
132
200
608
300
863
71
875
359
910
876
742
372
252
607
458
255
669
758
805
309
77
216
187
338
219
553
518
118
382
964
184
515
99
495
331
196
782
34
485
557
319
662
59
149
916
533
521
705
165
770
60
207
814
738
684
645
730
153
649
919
898
13
79
96
582
341
79
120
590
782
244
236
622
932
33
526
947
913
500
447
800
37
693
639
677
561
328
520
318
269
10
671
545
612
652
616
837
665
845
123
867
154
922
343
241
118
909
49
665
464
690
639
681
26
939
687
342
288
898
501
205
855
74
304
143
418
974
342
139
843
790
369
684
253
505
12
910
420
404
709
44
932
701
923
153
521
86
278
434
878
688
400
619
291
448
378
768
424
360
14
353
322
444
182
145
527
470
131
295
981
482
498
932
878
977
695
236
585
997
734
748
825
645
153
945
151
316
484
499
271
762
137
518
334
619
275
841
274
737
481
596
880
433
323
89
761
337
986
795
361
856
484
456
668
842
405
23
852
460
639
253
991
534
572
526
273
341
190
591
545
28
432
796
658
882
922
74
810
104
917
581
291
337
476
127
633
342
932
227
210
298
782
778
807
155
633
710
651
152
125
74
864
65
176
832
780
652
33
26
573
839
214
947
469
313
797
941
865
359
201
473
838
780
180
326
338
358
872
341
478
964
496
944
806
811
571
886
243
159
124
503
762
28
410
183
700
930
987
783
762
779
833
218
132
398
206
582
184
673
880
243
404
715
773
295
191
16
331
608
757
819
11
616
138
386
179
407
274
556
850
451
177
115
922
970
661
30
719
846
829
281
232
419
157
362
633
401
523
908
224
87
223
372
338
594
659
550
84
835
961
747
661
370
821
299
366
267
917
16
629
22
174
319
181
654
964
138
643
384
916
280
845
292
272
451
591
288
870
792
269
492
586
987
917
467
199
538
765
394
893
984
29
290
401
45
113
574
174
929
920
764
346
988
432
672
152
543
417
876
378
973
948
383
319
469
945
821
471
804
736
499
23
42
229
179
834
325
10
872
692
759
161
962
910
518
47
75
270
899
885
407
856
678
267
772
423
585
496
647
103
906
464
404
996
482
461
742
625
283
961
675
925
229
361
161
653
349
477
208
836
182
185
814
475
942
845
485
640
301
637
795
627
225
113
56
837
140
526
13
141
25
620
493
519
698
688
508
115
96
121
609
913
645
186
162
861
819
704
263
676
13
434
957
374
453
589
982
859
890
528
852
833
490
136
62
19
305
403
466
758
690
745
256
464
13
810
528
701
799
598
777
487
610
668
84
713
407
906
229
708
787
513
383
740
505
627
922
57
291
417
95
936
302
999
670
325
308
65
783
278
709
13
94
784
413
324
790
15
366
235
693
547
869
805
423
499
948
678
679
933
617
980
353
392
545
936
716
511
96
690
514
693
130
444
965
276
805
199
352
476
712
143
130
368
946
987
358
570
592
934
539
922
332
325
638
936
89
885
228
763
317
79
321
45
813
510
886
586
948
777
384
585
670
904
708
805
185
820
421
858
577
524
869
178
715
842
293
319
333
874
444
379
554
98
274
143
59
714
98
449
781
194
366
245
594
676
170
404
811
274
65
64
807
616
635
423
682
275
551
685
360
41
584
140
949
455
756
414
594
14
857
676
494
780
214
890
192
791
431
680
291
938
626
613
927
258
294
604
37
632
20
573
820
651
911
457
414
518
547
678
627
347
158
565
471
583
568
872
548
207
636
917
542
427
578
868
783
461
499
602
342
55
97
967
617
300
106
932
649
557
132
407
860
806
591
197
780
474
457
301
991
867
199
128
769
634
219
981
415
181
964
994
746
262
119
431
462
883
391
644
112
551
416
621
732
985
955
180
964
12
938
295
964
263
918
840
839
489
221
65
418
844
306
317
987
578
110
253
721
50
996
200
940
155
622
476
486
717
350
757
96
770
819
674
907
637
559
802
653
509
219
53
367
982
195
302
240
398
739
158
564
961
322
351
908
99
847
928
838
911
868
559
632
27
809
155
540
732
167
403
96
451
576
823
497
939
591
313
794
666
696
522
63
398
551
715
389
283
515
500
818
15
604
643
486
495
487
742
341
476
391
279
662
766
298
499
528
185
518
159
849
276
363
208
169
369
442
327
164
916
758
67
672
198
832
412
808
779
42
532
58
893
480
138
797
638
853
525
616
717
390
485
203
489
309
927
573
913
196
170
106
320
998
320
987
509
566
139
693
594
787
977
158
136
612
124
17
584
564
917
479
291
210
365
510
886
438
937
404
791
874
109
670
677
974
531
390
668
193
538
862
111
63
365
535
805
137
396
376
655
521
173
81
656
826
512
666
823
493
195
461
586
761
791
911
734
489
458
505
669
61
470
474
166
174
406
681
79
479
552
906
294
323
507
733
400
136
597
343
304
71
380
504
725
703
642
295
666
354
110
160
789
206
41
780
240
524
667
983
90
838
569
789
692
13
940
839
126
85
698
160
172
747
269
356
161
846
774
130
66
251
205
137
131
71
661
862
226
528
240
215
374
991
611
846
964
585
117
450
229
198
906
331
251
248
291
781
142
573
984
301
431
446
27
201
969
256
713
810
806
303
764
82
625
292
528
510
831
813
100
91
26
470
560
209
689
457
473
362
598
383
316
390
307
297
639
257
594
624
611
265
52
28
795
902
79
739
444
64
756
190
620
648
385
108
366
951
317
972
235
57
440
432
644
819
802
327
593
579
436
321
627
170
386
266
906
56
279
236
20
425
892
239
91
427
918
25
217
196
989
500
848
97
244
173
330
872
177
234
406
723
817
900
854
84
735
403
656
202
905
690
640
988
539
230
211
420
459
922
34
159
77
708
163
984
131
991
650
880
74
845
12
61
227
565
789
722
847
592
153
154
851
585
83
979
982
995
618
22
378
547
124
746
244
535
435
291
98
745
158
128
619
779
129
417
153
572
728
23
52
71
809
140
354
226
558
848
555
490
886
933
244
514
576
632
687
189
571
751
347
406
286
234
395
145
542
813
558
354
705
441
199
419
623
960
143
181
731
722
647
353
915
548
665
982
14
282
531
115
632
698
583
716
493
497
198
773
803
129
332
463
231
838
752
269
597
142
415
602
813
337
837
732
660
951
116
422
263
410
679
754
511
228
688
685
24
143
912
507
385
307
406
419
208
220
281
264
13
657
217
232
183
67
373
598
92
514
896
84
452
724
101
829
211
272
135
890
19
214
765
613
67
738
655
346
588
932
141
522
617
979
491
194
649
683
863
846
322
571
129
241
642
847
117
158
709
574
806
19
858
637
267
375
299
357
596
114
510
48
759
699
607
424
760
834
132
256
819
160
908
562
20
627
982
283
886
324
604
373
67
365
706
99
822
486
556
268
370
592
983
840
437
586
494
579
394
288
762
687
800
518
951
846
997
471
867
726
689
475
891
142
202
728
878
726
15
923
869
692
975
191
272
787
296
328
369
491
241
585
155
796
47
100
136
177
774
265
863
316
647
318
39
30
851
900
284
196
349
10
184
889
825
993
467
752
867
471
75
869
95
53
567
239
481
745
442
596
104
391
183
261
977
151
300
939
423
993
123
596
636
328
659
413
278
51
530
117
757
910
566
426
410
532
710
382
880
198
186
913
658
910
725
322
675
233
106
671
590
37
15
479
509
182
202
780
859
972
504
566
569
938
299
331
751
885
483
181
408
622
951
471
199
486
734
663
177
52
679
364
350
424
355
338
126
112
289
988
903
648
312
132
184
821
724
37
470
210
747
22
770
28
518
732
714
973
571
586
636
582
23
51
309
702
109
375
412
515
907
220
402
924
269
377
742
652
490
417
316
633
223
761
296
590
251
554
56
594
653
443
712
533
878
115
165
243
296
725
284
701
374
69
471
212
442
424
109
346
903
773
284
526
273
725
318
308
174
685
717
291
507
24
778
235
971
801
932
890
596
932
993
144
966
106
221
798
349
326
935
525
248
376
121
505
189
593
87
48
338
873
634
259
744
301
397
380
174
187
801
368
567
708
666
789
967
122
296
701
527
567
851
341
62
657
622
644
318
866
501
770
198
230
375
545
590
896
17
722
197
390
658
584
189
308
665
302
266
315
594
236
825
451
464
114
347
904
331
595
81
409
877
473
418
168
291
320
334
259
58
494
154
132
942
372
434
954
278
854
202
698
144
903
881
589
235
137
769
714
881
987
958
534
490
302
642
884
420
190
11
559
475
77
515
680
34
694
396
932
425
745
803
557
256
936
324
968
561
27
136
194
926
115
953
270
840
576
573
585
83
142
628
242
442
999
855
899
422
735
65
533
571
640
793
320
227
497
170
262
501
308
226
424
498
670
618
273
380
633
954
962
631
44
444
465
79
926
208
625
967
119
992
368
789
721
216
687
554
522
739
161
928
638
775
910
181
339
200
417
404
792
684
809
803
491
650
177
503
220
395
239
80
308
302
252
613
140
133
383
162
128
742
206
621
465
442
695
605
129
987
148
376
709
109
562
748
212
494
293
442
491
473
21
747
893
67
461
593
280
87
432
768
648
126
920
321
277
635
254
866
355
48
952
264
326
770
635
713
609
811
516
161
552
345
528
83
455
840
433
256
489
130
636
625
620
532
718
269
349
948
906
397
953
507
308
597
867
527
581
815
909
780
430
865
99
537
928
648
538
556
688
27
822
257
225
781
739
466
529
411
773
650
282
197
226
523
19
862
150
121
599
827
502
245
756
935
233
805
107
986
887
825
836
523
175
880
48
32
574
635
338
579
182
149
874
505
436
374
161
776
158
242
105
427
282
608
981
815
194
358
740
364
433
72
115
511
429
312
163
421
173
132
557
513
269
809
445
281
10
605
321
628
805
166
779
688
957
87
29
873
365
147
85
269
301
795
228
131
273
232
758
862
263
954
425
352
633
838
778
376
563
433
384
464
876
469
706
637
594
226
195
29
848
257
259
301
634
754
646
843
303
287
351
923
533
196
502
271
682
184
125
113
308
81
510
143
634
458
155
752
181
595
295
656
100
396
385
341
263
241
177
256
640
148
661
393
726
344
480
114
299
645
550
96
74
169
869
144
332
206
737
607
732
484
489
607
21
156
456
306
23
508
35
382
191
400
756
54
811
457
26
481
218
302
667
773
624
651
381
24
645
463
552
721
174
774
196
99
376
86
260
273
318
559
639
627
554
186
395
896
143
245
237
50
87
820
322
503
344
794
756
277
470
359
284
899
841
50
703
948
646
872
984
464
151
934
475
682
543
669
985
367
270
823
905
349
928
898
953
322
520
709
659
874
823
560
310
669
598
187
658
449
521
454
727
466
692
761
778
309
909
700
371
655
423
87
931
466
820
489
752
600
198
88
623
53
528
314
738
543
790
173
621
782
554
479
838
15
180
371
243
878
127
707
685
904
457
820
681
796
350
988
360
241
867
33
81
969
740
519
101
439
501
72
345
296
392
358
17
67
296
525
890
13
80
247
200
640
428
89
121
517
792
266
622
355
329
374
22
994
389
440
773
426
384
74
806
494
362
588
819
210
727
893
456
518
301
992
773
794
285
878
93
18
68
212
186
462
424
790
149
619
587
456
70
133
915
287
573
858
622
548
99
574
263
483
292
319
485
841
838
270
54
321
72
363
248
682
818
49
819
404
704
198
730
924
464
55
399
417
429
510
17
176
461
412
461
383
442
87
441
669
658
480
822
125
368
708
354
373
857
94
226
719
391
76
699
686
839
796
816
175
161
370
997
345
650
26
577
269
109
574
33
239
474
103
763
952
105
91
13
999
945
257
45
311
142
671
598
589
235
897
813
783
461
95
711
406
502
583
171
806
119
36
68
416
812
814
584
235
520
832
45
435
462
654
898
156
193
21
226
419
189
533
573
341
601
185
396
963
655
592
985
689
26
996
360
481
269
251
82
416
415
772
970
964
223
195
839
58
544
935
776
895
679
186
806
29
509
13
42
58
474
184
186
437
86
932
757
369
816
128
126
563
125
94
311
109
126
461
127
378
270
242
326
45
798
201
844
392
871
299
581
161
615
466
244
707
960
863
319
658
648
951
246
817
752
352
779
702
431
544
804
194
941
125
304
660
623
230
896
370
114
291
212
573
589
70
943
627
935
900
577
466
797
286
182
692
394
813
114
453
997
924
353
490
691
57
206
115
289
624
539
82
754
608
900
866
137
779
929
535
815
279
50
76
723
392
995
929
691
954
521
250
992
378
377
142
689
345
147
478
120
238
828
388
142
591
803
370
970
354
298
640
397
807
235
903
863
751
141
233
195
948
812
831
585
144
623
849
626
905
227
876
610
809
609
715
56
734
63
490
345
128
941
319
221
592
93
672
957
769
150
605
774
941
663
978
267
315
580
626
692
542
48
180
33
848
145
126
379
531
318
652
250
720
533
924
27
272
59
528
252
313
132
966
731
990
78
387
314
620
951
774
303
955
966
277
564
136
216
75
909
378
807
725
51
852
431
523
427
675
391
743
59
241
801
906
757
622
443
236
648
813
966
227
927
94
247
854
486
638
343
701
980
237
184
994
267
164
963
834
921
172
244
182
117
796
366
566
384
605
636
737
852
538
81
828
760
774
799
682
151
815
536
326
344
768
734
392
150
47
969
456
139
703
589
989
549
468
815
337
970
787
427
343
170
592
604
315
635
627
494
495
799
632
724
674
910
365
363
449
378
414
357
781
659
878
677
53
427
774
750
119
710
315
922
982
308
491
496
841
138
975
499
876
236
449
772
913
430
758
546
401
830
297
572
214
790
41
81
538
943
979
957
567
860
334
564
825
156
816
575
799
46
328
923
989
112
602
245
786
882
466
77
66
649
145
423
87
450
979
621
463
708
98
316
921
504
494
190
634
559
903
267
255
841
696
488
410
627
997
292
628
179
471
330
140
544
669
685
546
144
167
959
166
885
769
60
503
976
429
274
513
647
785
822
384
931
428
196
98
117
923
989
894
334
659
45
844
364
645
922
182
189
301
794
250
314
296
696
883
907
918
627
671
713
630
280
406
484
675
954
334
788
279
352
798
682
64
51
426
871
485
366
962
39
835
505
206
994
114
979
416
905
514
330
423
657
466
355
526
74
330
841
509
963
569
298
954
387
384
65
792
545
887
692
706
132
139
788
625
108
930
914
780
925
452
816
176
265
981
760
834
104
573
48
813
439
317
763
233
82
730
588
463
276
220
814
64
712
14
241
108
406
55
662
759
317
575
79
435
187
220
478
88
100
369
478
737
266
86
784
111
779
567
993
674
242
333
965
455
583
571
153
286
380
888
346
717
360
279
51
435
474
28
646
961
752
425
614
306
238
509
909
715
180
792
398
826
55
88
248
953
279
472
123
417
193
675
882
179
93
351
601
360
775
18
12
853
91
211
990
316
443
694
377
801
290
293
872
312
188
581
506
48
919
840
480
632
996
788
384
60
241
449
977
46
355
306
443
919
580
167
287
417
199
283
220
945
999
391
746
490
493
441
357
397
770
512
800
884
719
794
449
36
687
634
679
608
873
872
803
339
896
68
689
484
950
850
723
257
605
744
946
628
55
657
745
89
702
595
198
519
356
897
41
195
34
392
323
35
989
610
255
850
53
222
92
644
888
47
611
874
476
652
787
429
252
344
682
753
459
48
547
860
180
347
612
20
748
916
353
522
851
726
851
669
97
92
384
706
977
68
412
944
208
440
765
317
623
82
932
845
353
764
632
373
32
20
651
519
529
986
879
625
121
492
912
959
905
608
199
915
338
792
205
40
286
937
57
22
843
776
214
923
356
591
265
760
788
195
872
700
396
446
238
685
89
591
843
273
610
308
705
877
602
315
211
970
675
941
315
923
351
911
608
474
278
404
807
960
694
735
877
311
908
268
583
671
554
678
540
782
299
116
404
862
359
570
367
364
700
444
682
50
987
30
210
704
820
175
827
322
606
738
474
179
310
603
775
261
295
402
956
796
41
360
894
340
882
631
635
984
709
855
414
87
511
897
510
454
31
914
725
278
800
67
523
765
145
88
286
640
12
585
471
638
296
290
980
352
389
717
441
487
723
911
501
536
665
76
508
386
178
810
300
714
25
240
800
147
391
350
623
338
380
845
864
639
143
474
350
386
120
476
957
317
595
829
394
476
292
631
753
334
221
772
459
345
604
53
54
123
559
85
396
100
878
319
43
643
114
476
397
738
544
867
143
45
702
500
85
363
40
176
297
984
271
374
55
290
635
634
822
595
833
670
614
750
202
915
46
631
928
604
103
288
931
302
241
979
125
406
516
946
368
603
180
54
678
198
546
29
193
750
631
311
701
405
837
300
488
124
711
618
326
359
239
559
814
277
98
843
113
858
388
482
10
525
749
994
243
728
774
628
410
669
72
674
447
829
290
609
631
139
562
349
185
217
401
93
225
191
533
252
566
409
298
913
122
449
594
735
266
898
870
175
885
139
482
304
566
428
884
80
985
716
484
914
415
844
213
11
87
413
919
623
399
843
897
246
59
144
408
126
486
683
293
245
996
848
836
426
809
147
315
507
903
483
536
264
790
608
34
154
756
612
813
169
844
760
678
932
916
676
939
460
460
326
592
281
209
320
252
134
592
652
541
19
734
142
691
565
31
546
164
196
210
621
194
410
412
218
216
763
148
861
327
838
831
889
132
926
602
44
166
923
522
276
849
983
63
194
118
468
349
466
572
358
669
868
654
160
220
870
594
606
279
329
32
69
309
754
341
453
321
978
930
888
784
457
583
741
235
938
911
46
276
43
997
577
552
258
185
49
790
440
81
662
353
400
461
815
576
742
739
807
859
818
204
391
342
152
34
556
878
808
627
683
21
33
196
890
409
528
104
649
802
274
821
336
242
811
68
760
469
470
870
850
46
994
112
656
95
694
753
152
61
243
89
619
32
713
800
73
482
781
86
186
811
205
147
516
876
823
74
292
194
928
698
579
182
744
153
149
809
343
361
535
947
379
755
591
742
725
265
144
504
603
12
151
341
686
668
987
12
392
259
58
169
599
695
383
759
832
969
569
109
641
310
964
537
857
491
542
234
119
330
533
666
409
448
267
395
664
456
788
410
546
819
60
543
406
853
483
659
689
682
517
230
390
149
890
59
546
926
649
325
759
696
512
649
522
567
556
740
150
387
769
828
854
969
105
439
523
105
217
877
611
108
271
789
79
36
924
861
288
648
197
703
670
42
703
14
664
107
86
966
283
554
425
529
29
408
566
243
998
228
585
810
755
763
733
719
386
227
849
264
901
844
730
639
51
780
459
74
318
844
746
542
142
92
344
314
196
57
812
427
580
785
739
965
619
189
319
644
895
814
605
833
730
865
695
847
838
526
766
901
42
483
248
161
274
829
244
344
680
473
733
422
828
372
622
495
249
54
675
888
344
708
979
829
882
350
632
457
471
192
305
904
30
994
952
578
492
496
10
713
837
405
940
121
470
593
642
210
425
979
631
19
747
359
360
861
549
305
337
399
471
403
403
50
210
752
55
819
367
61
535
676
370
790
305
266
33
425
696
731
846
26
745
318
649
104
892
448
984
29
163
863
19
514
935
338
684
981
993
951
66
206
930
320
556
302
717
337
195
59
685
644
646
526
899
979
871
565
574
204
925
609
356
219
789
518
323
373
820
846
712
609
701
397
400
283
47
298
478
465
826
841
626
386
843
744
545
270
10
844
716
198
519
88
53
974
222
860
404
537
800
394
362
422
14
301
308
359
142
451
917
557
221
570
812
478
285
434
983
932
378
195
644
48
396
17
573
803
319
470
500
574
939
579
645
119
367
899
243
536
404
133
519
445
289
57
980
719
384
946
195
753
731
232
370
219
480
340
663
974
369
876
463
129
437
861
458
269
359
82
723
943
307
506
622
51
793
534
767
538
175
29
931
711
982
337
240
491
182
717
611
38
504
704
264
344
954
215
311
836
996
690
288
972
280
277
685
350
312
373
175
757
407
620
444
237
839
700
600
815
316
877
112
69
765
610
248
204
230
82
967
268
271
744
388
972
591
724
767
646
646
946
664
828
950
803
602
768
734
396
177
373
227
13
672
783
255
15
831
634
110
942
746
321
881
658
896
820
231
585
377
668
363
225
358
820
507
143
486
929
845
654
638
262
808
185
516
533
973
983
344
158
964
397
130
315
481
235
902
698
813
772
557
459
518
437
806
558
167
643
463
117
595
900
736
96
69
726
255
462
893
685
852
40
86
16
774
609
588
596
644
587
735
281
922
479
465
207
894
695
642
489
377
12
534
44
821
967
870
156
823
303
614
519
505
963
179
202
250
153
296
530
744
438
513
404
49
271
718
967
469
220
126
424
258
628
749
408
895
262
671
204
938
512
638
437
247
121
19
552
12
178
377
713
31
56
471
783
229
577
832
17
58
137
440
936
619
213
289
562
668
225
744
98
603
719
757
97
485
617
402
609
221
61
759
201
862
185
422
769
308
558
173
883
943
170
718
485
780
717
13
921
560
810
268
153
82
934
691
772
408
839
731
536
637
325
536
957
380
857
27
813
291
639
497
97
961
833
43
201
873
332
794
91
38
863
596
880
928
954
611
258
830
715
120
459
215
858
302
16
482
592
494
473
941
961
116
86
508
511
278
675
177
917
787
954
429
494
785
541
261
955
226
173
491
759
265
92
510
775
270
518
55
409
900
259
882
391
195
645
420
833
394
884
759
900
179
221
506
565
645
928
98
312
114
83
687
554
650
923
831
911
547
796
67
108
128
875
536
351
749
470
320
71
720
316
210
669
904
998
903
15
264
911
701
532
665
573
937
522
774
833
793
755
336
577
417
314
989
266
832
224
174
752
741
50
124
476
794
83
270
215
39
602
160
47
760
822
624
849
997
711
192
482
96
332
166
231
280
548
38
681
385
516
65
225
599
285
632
813
79
32
33
988
728
742
993
611
332
381
832
899
556
765
264
437
10
740
564
58
90
998
183
621
11
232
75
786
507
960
179
137
822
123
463
734
917
361
190
897
864
255
273
928
777
729
15
366
126
540
416
967
408
992
418
298
821
163
238
961
801
129
741
623
357
772
409
118
118
57
188
185
28
303
832
480
502
777
511
655
217
360
245
393
547
396
950
82
172
88
490
43
519
500
465
203
498
278
896
60
714
840
194
378
505
445
611
444
802
110
671
991
371
369
398
788
409
801
819
254
234
460
457
266
806
723
983
907
264
479
119
217
599
878
902
546
577
862
119
972
567
649
70
581
207
139
928
470
203
709
390
905
598
873
840
96
350
572
221
708
842
378
146
725
965
426
396
523
325
157
907
162
36
190
314
936
593
591
357
85
978
995
468
388
369
794
262
419
173
241
234
909
920
876
407
980
527
264
209
134
740
695
910
144
710
829
484
48
744
525
809
109
198
71
40
752
702
384
473
201
667
783
881
36
860
648
145
888
454
207
800
558
872
519
506
94
468
912
104
566
740
285
916
242
568
686
436
859
772
731
938
452
35
446
377
56
768
916
984
670
299
167
809
197
978
799
661
389
703
884
573
353
894
632
180
514
924
851
776
401
39
413
459
528
705
970
508
80
672
344
39
907
554
80
917
34
538
63
431
745
351
833
346
941
206
816
964
295
997
288
348
840
747
393
25
805
124
934
67
390
725
697
137
814
544
957
83
575
450
12
92
576
21
871
255
568
23
990
297
600
128
85
90
362
730
650
114
661
889
217
205
156
472
581
571
482
664
324
778
839
893
760
734
404
31
383
283
925
316
933
610
33
354
752
985
915
88
174
540
16
478
656
149
52
499
370
688
289
15
956
68
942
282
96
295
892
753
261
94
809
64
315
327
967
831
124
930
512
128
139
898
164
828
699
560
594
554
979
566
343
524
857
985
242
592
982
675
362
780
668
753
12
239
595
136
668
505
666
132
719
468
277
106
145
804
26
740
879
460
254
892
226
298
243
418
420
285
174
839
739
188
87
253
277
104
906
610
26
737
707
715
401
970
444
106
515
342
853
58
23
551
602
208
623
73
769
120
21
718
549
473
164
44
257
607
669
764
129
629
777
220
346
484
675
42
858
657
512
799
107
869
917
818
391
199
378
67
679
374
61
152
435
530
168
299
844
455
912
992
840
600
219
414
913
481
208
787
893
706
75
996
449
811
654
467
889
212
825
153
220
128
285
82
132
65
827
806
773
629
778
474
180
151
246
701
707
677
943
823
270
879
506
403
909
115
919
344
285
370
142
206
796
886
564
282
493
128
352
319
159
618
374
289
663
462
532
450
679
40
954
529
283
830
172
405
339
49
669
328
151
502
626
362
505
428
775
518
732
759
236
462
155
974
197
829
293
472
115
910
166
205
331
633
317
215
715
697
762
453
655
750
580
910
846
545
711
468
481
494
403
709
551
829
151
114
188
903
881
243
524
606
401
548
558
565
251
299
796
313
53
621
213
81
284
739
708
786
190
809
17
437
154
765
458
153
498
633
916
328
843
820
36
318
113
714
90
547
715
715
970
220
518
745
15
804
636
477
915
898
652
553
194
920
598
782
460
127
761
577
332
432
289
551
973
534
657
470
225
33
193
93
526
264
598
259
521
886
79
499
797
898
345
478
335
895
491
79
231
93
565
354
514
413
60
189
365
535
525
711
569
183
504
835
165
153
929
892
439
755
979
100
898
231
230
626
464
105
68
197
312
566
961
701
815
777
777
681
466
653
150
52
887
279
336
276
55
555
730
492
442
883
311
431
358
749
626
358
925
582
284
709
534
729
769
866
908
251
107
970
741
28
695
803
803
329
585
248
955
457
643
764
620
242
355
96
731
81
392
722
458
760
655
636
653
15
412
809
720
939
954
885
671
387
650
467
267
633
771
677
931
78
539
632
746
580
94
933
271
366
510
58
91
935
40
951
566
344
380
907
879
620
582
720
719
627
665
775
81
747
581
515
348
797
276
470
17
400
934
197
632
404
506
377
755
941
498
191
472
202
286
213
29
637
71
897
657
527
816
701
983
545
557
645
467
935
87
477
559
802
390
936
922
541
633
377
342
536
903
861
588
536
643
402
107
891
904
71
712
294
674
416
199
514
842
75
398
801
428
124
546
147
174
377
62
873
23
526
789
559
816
896
304
308
310
723
963
274
305
110
258
978
594
503
231
439
295
444
724
204
218
19
288
673
916
67
137
258
620
117
787
257
66
901
810
43
863
685
576
839
345
80
772
548
875
667
856
821
864
499
711
496
376
40
901
457
887
557
527
875
778
806
148
979
277
587
948
85
673
347
138
137
817
896
696
701
499
960
914
958
768
226
739
453
661
264
739
500
612
550
645
993
204
888
544
775
880
29
968
694
420
534
738
711
907
738
101
862
668
781
226
634
164
196
328
360
154
415
208
664
20
232
642
836
905
795
948
177
844
397
669
230
136
346
773
460
429
913
761
909
835
815
577
918
204
491
126
377
340
69
232
342
179
233
449
748
193
765
378
945
787
277
909
972
652
590
81
159
399
887
114
581
164
503
298
143
257
51
699
825
874
352
714
502
681
503
790
72
723
140
575
58
236
170
86
652
935
516
197
728
768
922
896
593
831
568
778
663
447
989
982
350
722
113
206
758
922
202
85
308
298
420
974
512
700
930
12
817
594
663
302
785
989
240
187
488
97
338
735
343
462
205
801
772
16
59
849
636
965
590
113
731
174
366
384
566
607
387
41
720
494
661
26
524
457
221
483
249
253
191
445
51
715
256
979
473
274
525
788
626
834
856
742
861
980
456
372
909
970
483
339
504
583
672
975
75
121
759
894
302
643
716
817
783
920
289
769
567
896
975
246
499
37
158
409
888
78
457
80
137
267
638
514
751
274
687
582
438
126
191
576
132
989
58
667
407
600
23
90
331
401
75
945
463
468
844
680
61
979
409
84
59
831
205
822
616
653
789
956
497
466
489
720
323
750
358
338
176
776
839
772
79
648
355
990
303
166
271
116
427
676
973
420
373
767
424
292
510
598
593
463
212
562
564
702
490
59
327
886
83
462
109
874
322
930
157
853
788
197
121
442
380
335
749
851
160
932
740
318
204
802
450
329
82
946
320
302
904
924
58
636
929
832
999
195
449
626
836
957
490
152
113
447
406
867
964
285
128
588
470
498
452
622
532
267
893
543
83
359
548
385
109
648
23
842
131
941
329
92
301
345
31
966
560
164
368
931
765
938
243
946
489
168
450
776
25
646
647
880
969
46
314
660
369
879
238
739
533
720
439
724
848
466
440
204
361
524
438
872
724
781
791
971
16
270
384
134
728
769
319
268
49
63
361
664
568
366
22
905
709
593
46
465
161
397
493
241
428
164
347
441
758
552
286
55
672
400
830
740
383
440
623
710
903
316
36
652
896
217
323
230
629
619
957
298
113
939
404
929
642
735
464
219
531
185
963
787
899
18
900
393
872
453
580
724
85
187
968
511
546
929
782
126
761
880
624
566
675
447
114
159
637
240
942
162
379
137
716
423
100
701
456
321
795
413
392
923
336
737
524
243
492
268
121
707
546
52
537
837
462
203
732
55
520
988
876
161
647
373
577
621
381
266
111
617
192
817
510
860
674
682
499
606
511
624
937
388
34
834
715
434
190
536
620
391
853
61
89
434
304
754
755
326
494
272
778
742
838
816
74
557
296
795
254
59
448
207
479
333
245
44
554
89
71
228
261
612
142
695
63
664
768
789
92
451
762
376
827
539
296
799
762
474
780
782
207
35
739
699
134
824
890
462
682
684
897
998
909
321
899
613
527
629
214
422
163
337
712
80
379
430
541
964
892
14
362
402
151
885
214
667
134
279
340
444
855
527
406
162
443
687
964
158
557
920
555
181
516
223
977
610
24
437
310
973
743
197
520
640
954
494
871
24
306
98
284
186
45
80
174
630
924
471
477
786
579
83
581
464
67
637
969
21
469
842
277
867
223
810
159
789
96
321
467
930
537
438
596
219
326
552
284
956
85
129
369
247
62
282
27
535
491
343
63
199
910
757
395
520
406
778
192
419
62
246
827
434
664
374
278
467
147
592
281
955
727
502
762
699
138
94
379
849
595
254
767
579
300
252
694
944
913
924
41
310
817
366
516
270
739
23
732
641
534
78
116
676
610
197
144
877
980
635
84
607
709
280
759
783
626
591
461
524
614
375
568
214
636
698
569
414
530
329
535
41
16
384
326
942
340
602
146
388
344
40
627
470
99
206
407
464
390
365
667
213
175
936
506
217
252
459
904
864
331
151
961
962
722
464
17
511
113
701
430
540
329
496
616
17
373
745
549
238
244
248
864
544
488
409
715
84
823
140
105
874
203
846
802
806
934
267
102
426
143
363
774
926
243
782
661
794
757
117
971
300
811
676
443
272
479
230
623
273
777
22
366
25
623
951
715
899
73
203
622
127
429
470
418
125
415
677
39
213
22
416
406
721
435
964
715
44
504
852
999
470
893
73
816
104
434
419
698
426
961
896
261
494
945
440
481
960
585
701
776
799
45
416
54
43
566
525
259
244
639
824
10
847
471
681
155
292
435
222
212
25
786
979
267
247
711
83
754
799
473
578
83
699
760
206
561
697
467
42
890
198
945
932
64
628
686
150
757
83
250
432
891
104
661
205
480
819
120
523
377
292
264
933
957
299
871
922
118
377
172
792
377
513
501
653
369
713
496
147
979
130
457
620
156
574
118
587
298
807
470
667
481
448
238
504
568
209
705
738
983
543
279
43
193
55
694
26
863
417
151
132
258
183
664
62
476
67
448
372
455
449
369
768
310
69
154
56
880
927
102
19
917
80
984
12
624
845
515
846
574
953
611
172
553
942
276
748
199
243
196
213
117
517
516
418
491
731
188
582
624
946
549
79
863
372
133
287
266
203
642
637
131
417
981
95
129
392
962
866
525
545
977
11
610
471
554
273
870
652
320
16
369
201
54
997
159
322
522
962
315
516
286
35
81
225
58
437
179
630
571
381
883
156
517
87
831
775
234
376
510
673
410
762
878
440
42
433
670
520
638
851
976
350
563
48
893
567
311
304
442
698
83
924
615
520
620
297
249
826
651
793
536
196
82
955
276
657
653
496
547
361
835
305
175
407
11
651
901
231
247
498
966
557
322
609
40
686
236
767
585
802
712
207
895
877
713
287
552
261
545
874
107
71
358
790
126
674
431
365
787
667
937
172
487
647
326
760
594
54
416
364
527
787
488
461
343
91
439
952
266
108
544
891
140
131
910
950
316
624
447
959
920
110
933
371
770
379
99
450
333
911
830
717
278
155
440
439
205
754
362
398
110
11
504
112
230
991
28
49
98
531
837
384
81
846
551
740
553
541
782
379
948
408
939
755
12
822
331
191
722
444
874
127
897
845
541
574
988
587
33
990
441
635
424
409
936
462
722
248
100
384
191
971
251
854
407
273
69
159
96
299
195
831
75
737
772
115
556
625
320
99
51
242
352
266
310
469
98
101
813
869
143
570
751
933
340
318
976
952
949
839
850
863
205
644
568
685
118
960
939
655
148
169
838
158
261
74
255
923
807
704
788
869
297
230
603
138
423
35
436
326
431
371
801
433
632
241
785
302
96
144
844
243
739
364
140
27
882
246
913
317
815
651
333
743
919
829
75
881
563
66
36
60
946
558
473
508
607
645
190
744
249
743
932
969
253
935
222
736
463
242
725
517
83
992
721
428
303
910
936
173
134
116
31
463
737
72
966
171
218
729
242
440
197
427
139
870
315
98
267
518
402
542
177
117
224
717
16
962
316
405
895
862
608
649
727
553
949
55
434
87
296
747
250
177
203
535
826
670
970
415
800
502
317
618
565
72
191
828
102
666
717
279
80
243
290
315
259
548
328
746
800
239
833
395
118
419
202
385
680
999
601
196
365
324
284
383
938
791
466
519
206
748
729
803
816
523
870
290
880
798
105
580
674
53
31
468
737
74
800
613
423
848
304
552
416
801
433
141
57
363
555
792
254
132
702
311
918
517
552
595
147
71
536
590
366
514
346
941
691
35
197
591
803
515
98
495
40
805
203
686
841
91
928
686
935
865
531
17
118
377
11
334
565
240
869
776
820
673
701
239
650
741
870
997
724
635
486
227
698
29
871
178
610
731
628
123
315
753
555
839
201
509
164
965
781
607
620
162
224
592
368
124
138
104
299
158
196
79
644
138
26
763
30
685
13
970
264
255
105
220
51
618
14
850
242
359
236
62
942
849
207
62
707
868
352
887
906
302
588
80
486
259
487
265
231
652
559
587
585
783
166
342
744
916
684
853
837
89
30
878
49
981
420
734
737
183
158
174
430
279
763
263
155
148
572
833
12
825
662
146
865
70
848
235
311
390
871
940
484
171
485
334
513
90
866
771
229
696
865
225
967
682
93
823
343
376
396
348
571
700
221
654
867
869
289
889
218
897
825
496
853
781
532
612
92
499
835
527
285
801
489
768
50
712
71
867
218
164
392
955
775
68
743
140
570
909
448
477
613
655
761
55
155
862
551
953
70
131
234
372
847
987
103
239
834
489
963
486
151
623
569
993
907
616
964
848
810
237
993
773
492
438
106
698
548
868
236
504
566
59
826
236
711
229
318
18
186
863
220
861
900
756
319
955
822
708
772
137
894
51
469
561
310
485
67
884
754
794
284
170
73
541
834
933
731
231
920
944
935
509
998
581
248
964
450
323
211
422
730
340
418
844
393
674
152
434
522
496
117
789
461
366
233
366
729
940
834
730
200
796
607
595
394
561
34
444
261
303
915
39
810
146
796
464
797
733
571
714
180
740
800
418
77
959
897
673
305
966
531
948
500
222
875
447
406
11
787
121
590
284
539
342
285
95
217
245
254
955
164
860
154
123
152
175
711
839
725
29
852
65
632
144
31
561
508
652
250
531
773
93
816
955
324
348
301
743
617
786
73
191
746
186
558
835
93
795
522
454
972
970
313
290
712
569
333
850
964
254
169
938
102
202
14
273
845
505
546
406
571
211
439
329
175
187
271
920
285
79
482
14
406
144
415
773
661
605
192
964
246
834
708
801
635
334
207
878
56
744
276
415
990
735
90
935
280
531
788
935
183
65
811
37
12
675
251
162
497
952
64
273
203
101
628
791
493
285
686
344
476
37
936
756
882
154
239
438
82
312
625
509
772
324
295
662
248
419
494
823
21
69
994
775
680
565
955
713
46
393
814
418
562
499
129
726
883
579
856
867
933
833
819
650
62
394
905
199
35
282
539
926
291
824
747
286
53
725
512
144
700
528
494
274
174
241
432
592
727
929
670
796
988
327
91
888
944
626
236
264
350
750
370
296
725
808
187
71
409
507
846
630
590
848
925
932
479
386
743
416
353
838
283
172
392
677
430
926
721
242
978
917
646
815
533
587
743
836
43
635
913
152
276
277
992
477
200
474
869
454
742
321
76
775
121
656
578
423
566
920
82
428
496
752
250
245
553
664
257
617
994
460
823
941
537
577
501
717
557
648
957
604
849
490
871
144
247
276
378
592
248
307
97
876
514
837
178
377
827
559
685
951
696
863
310
929
247
332
413
981
800
702
765
256
102
536
549
855
503
736
886
488
657
866
996
557
487
261
924
96
230
155
652
44
713
875
712
317
327
112
758
559
923
661
679
781
71
800
132
543
637
207
944
364
359
963
568
263
98
190
824
583
919
210
895
333
902
256
559
670
554
674
838
946
533
501
442
321
751
835
66
733
317
398
676
728
280
902
285
359
24
867
865
522
183
583
282
894
935
875
106
783
376
698
865
143
327
984
478
305
340
653
382
161
719
657
635
606
153
668
103
58
239
516
801
513
242
401
417
615
453
47
618
266
808
649
911
636
726
729
885
260
249
253
638
679
396
35
137
720
784
435
252
587
881
763
916
463
786
831
63
869
967
850
886
422
888
40
407
263
806
915
939
820
811
679
633
496
244
725
995
704
466
917
630
170
39
587
840
243
38
409
547
659
738
876
222
292
343
582
605
852
501
494
613
479
422
252
969
523
508
38
26
510
561
941
114
891
186
616
885
686
339
920
252
25
99
720
592
162
359
492
760
281
426
980
218
382
78
918
287
871
116
81
760
851
21
499
465
881
823
379
607
494
43
862
40
960
537
283
686
925
691
107
503
483
587
387
997
450
809
135
787
819
396
224
263
887
757
254
302
803
844
178
843
968
666
600
941
284
557
298
394
869
63
988
862
117
66
759
680
340
373
697
88
316
372
58
689
928
263
813
261
562
814
92
226
968
352
590
348
554
266
990
334
597
417
953
910
212
612
962
54
767
739
490
259
951
73
69
234
613
287
941
989
389
270
185
51
83
641
589
207
420
340
508
250
608
399
861
668
940
407
752
777
591
258
525
514
81
287
321
672
53
466
215
906
172
431
113
420
766
443
457
689
303
966
927
145
479
810
255
849
402
995
657
841
171
744
374
719
762
364
521
872
131
993
947
638
248
116
912
47
109
717
611
962
220
40
797
402
35
112
32
401
165
14
647
854
62
481
264
467
524
870
823
23
967
367
729
108
227
609
839
798
483
882
839
413
633
422
637
534
225
804
411
826
663
860
275
549
977
153
934
611
593
503
349
56
612
357
840
967
797
670
431
767
345
609
337
678
463
903
113
914
603
932
863
895
544
79
465
976
837
442
724
815
627
586
426
63
474
816
732
330
97
672
501
851
664
845
53
106
363
210
525
565
817
576
795
152
445
172
882
24
436
907
931
577
171
101
312
812
431
736
976
221
470
783
292
314
391
972
980
890
560
313
956
683
175
495
945
723
693
60
139
510
227
506
917
300
598
916
506
995
22
556
312
820
407
736
580
365
586
942
481
928
746
300
580
816
82
123
503
384
95
605
173
389
753
868
56
362
435
228
796
341
612
869
30
125
978
691
305
321
360
167
528
510
771
142
347
629
755
609
955
194
506
824
30
741
875
221
346
30
117
299
672
69
251
361
585
267
748
259
339
774
578
864
383
395
865
243
238
577
497
718
117
830
819
984
193
440
422
505
336
320
952
240
605
623
552
406
291
784
202
302
655
508
45
418
767
965
48
515
756
207
766
164
354
875
269
735
384
342
956
535
418
499
551
192
32
154
485
579
623
236
673
253
726
368
706
635
177
585
359
216
784
142
470
87
913
85
726
520
299
135
731
745
480
156
225
955
678
139
18
199
830
824
910
150
348
242
463
815
853
697
651
667
614
958
738
631
861
882
516
492
837
512
670
839
552
953
903
652
401
588
590
770
490
885
718
411
414
460
838
252
986
51
84
968
991
850
905
780
840
53
714
873
647
346
457
795
84
593
256
213
37
277
672
796
534
197
98
719
189
789
415
819
882
61
84
803
65
984
665
888
826
625
77
241
732
728
112
967
579
680
568
593
269
550
123
522
570
690
622
451
82
777
28
465
727
463
325
41
959
858
802
250
104
637
601
665
74
29
853
558
820
291
553
936
239
747
56
621
98
267
70
104
597
563
649
678
314
426
163
474
89
807
250
290
235
848
774
937
136
85
307
772
332
257
562
296
67
357
589
810
367
923
750
597
206
468
792
592
250
163
914
295
411
762
463
954
97
338
755
821
414
944
801
986
732
562
453
136
602
613
158
143
215
815
997
733
948
437
182
296
69
535
70
704
371
450
740
703
445
848
354
826
632
929
733
599
60
264
939
125
257
352
842
925
439
609
240
520
419
602
416
999
334
446
46
941
206
189
23
411
29
751
979
756
364
723
383
712
120
361
671
525
255
200
563
663
28
646
101
651
832
545
395
658
571
748
146
701
695
919
235
386
101
91
566
434
81
47
763
730
110
955
211
318
354
106
98
229
368
878
33
54
500
663
709
248
194
556
706
891
843
424
490
428
721
954
473
991
216
942
603
664
127
272
143
868
82
333
145
649
619
814
855
749
382
917
874
502
745
537
404
776
655
76
32
856
408
374
212
471
13
407
747
249
935
324
310
609
266
119
800
457
396
205
313
650
854
583
932
406
912
735
558
846
307
757
776
843
407
150
312
644
934
437
562
233
372
846
548
78
651
699
989
827
922
729
326
290
420
955
378
713
943
509
883
870
372
936
950
502
236
221
533
18
507
813
773
66
286
471
824
402
67
29
423
462
580
532
800
57
993
172
684
488
953
843
358
17
318
39
418
882
649
145
628
317
779
377
222
340
251
789
760
478
762
507
457
552
417
950
899
218
894
532
371
278
46
394
447
638
256
51
353
432
461
987
601
221
493
38
69
647
294
409
365
903
891
296
267
87
767
803
232
99
363
569
912
39
465
551
339
35
116
604
351
812
937
453
594
409
770
664
354
454
400
893
95
710
798
277
875
174
999
871
659
116
718
91
823
657
287
180
163
556
998
488
417
236
551
234
930
355
795
441
811
771
446
658
950
192
63
259
468
80
247
517
588
552
239
52
35
440
552
374
250
448
12
147
87
43
728
691
591
819
209
111
608
402
118
630
775
619
826
765
281
184
232
287
156
912
554
72
100
657
300
415
511
942
662
603
561
917
862
911
168
376
424
432
344
235
596
373
563
829
407
668
117
880
548
112
910
764
533
168
410
331
87
632
560
571
195
93
134
705
755
510
392
58
729
928
681
460
49
278
92
245
403
756
76
764
539
257
155
198
584
905
941
816
852
775
817
256
852
583
646
702
748
316
25
259
817
245
566
872
792
60
781
737
335
246
217
349
658
830
58
487
782
760
920
776
368
175
128
349
433
629
129
81
511
875
709
226
950
665
467
825
103
989
782
949
353
87
806
864
179
997
93
216
225
609
846
424
489
396
310
454
237
265
86
392
626
996
686
460
359
446
27
262
44
854
611
745
796
594
13
25
962
432
433
469
507
454
751
151
835
669
300
501
670
672
103
475
189
79
781
594
726
474
144
468
71
206
49
419
748
858
675
320
364
655
672
628
665
525
233
799
795
855
412
556
876
613
767
573
384
559
995
105
401
767
434
322
834
77
305
86
351
188
394
298
599
414
622
955
342
42
803
118
421
414
82
228
212
510
926
977
81
213
628
969
179
691
459
908
499
718
649
401
397
272
808
742
174
733
951
918
707
279
56
821
930
308
547
721
449
220
921
258
648
200
304
149
911
346
267
488
158
330
362
511
228
239
154
958
237
937
212
360
909
871
385
691
968
564
798
500
33
716
791
756
555
501
241
839
35
965
249
773
930
863
432
340
924
167
410
779
154
273
460
857
132
139
800
130
747
529
741
361
379
873
94
186
17
150
331
687
353
918
91
671
625
937
505
164
786
675
661
850
515
590
526
542
365
209
126
116
237
260
181
930
887
10
146
704
912
985
100
101
74
890
189
252
215
969
675
533
37
651
210
244
582
96
129
998
715
681
288
435
329
765
550
250
839
901
120
913
408
183
134
893
46
418
686
294
69
370
920
716
476
177
508
784
297
913
919
699
969
333
284
933
371
234
906
347
528
888
733
400
920
531
284
75
783
710
156
521
412
743
168
508
723
421
516
487
390
742
712
361
71
12
581
781
963
959
775
52
121
438
240
296
771
566
109
875
255
222
268
444
101
69
842
308
639
401
642
171
512
472
716
520
599
354
259
399
989
86
440
16
617
432
396
475
172
903
26
996
241
886
920
636
674
128
313
933
913
146
542
75
531
449
426
523
38
228
56
94
356
94
34
505
585
22
196
957
357
603
984
430
890
245
710
462
990
434
455
785
491
981
722
818
142
171
360
586
768
803
191
68
809
194
321
568
838
205
29
527
221
745
77
816
124
546
448
22
969
204
271
331
832
893
352
628
68
115
25
510
271
433
928
921
225
796
701
647
242
678
64
785
994
464
808
598
154
612
781
356
309
123
729
376
71
471
77
242
383
674
985
478
797
59
345
428
978
140
530
481
123
758
851
932
701
387
615
987
823
911
576
471
384
598
635
612
421
924
656
831
95
765
834
504
874
415
604
568
411
281
72
373
796
618
139
707
277
263
738
364
763
307
305
187
440
162
88
476
344
539
406
336
652
300
822
575
986
46
323
386
543
198
122
91
312
414
756
938
189
756
108
59
253
759
955
991
964
398
18
764
626
788
393
816
810
875
445
217
315
111
76
672
912
558
912
960
347
861
254
564
649
213
739
425
318
366
620
162
51
322
548
994
886
228
296
149
522
425
604
808
529
258
962
830
498
116
775
514
291
710
130
233
551
642
318
504
434
847
916
454
691
937
881
386
899
268
262
576
738
460
803
449
533
716
354
644
741
483
721
438
367
553
213
396
379
577
377
429
872
726
614
662
315
281
688
443
14
887
177
91
755
611
713
538
901
636
579
844
632
560
35
935
475
190
85
704
504
85
186
124
151
412
704
314
25
835
898
211
358
553
621
411
419
431
435
168
43
930
41
587
84
126
750
307
458
799
874
690
222
924
72
515
59
985
512
928
158
465
27
625
658
389
805
266
446
185
925
404
348
334
186
107
470
141
596
498
38
408
18
154
82
522
794
634
683
809
484
733
870
261
162
788
457
286
305
170
121
285
216
594
540
470
256
742
519
553
62
554
572
69
413
757
770
335
567
988
895
686
162
155
30
436
368
258
498
678
298
849
238
618
997
553
510
596
14
571
824
472
487
678
291
246
920
810
916
228
33
338
450
15
377
534
497
963
675
37
859
52
450
982
710
459
552
528
360
352
44
75
512
243
167
595
788
290
319
282
774
118
978
432
928
134
407
933
91
356
832
661
211
135
366
814
284
559
245
991
721
310
265
270
302
525
764
807
990
590
464
157
452
834
850
945
304
654
252
911
401
715
492
753
973
892
558
503
854
16
805
253
15
439
670
845
979
663
107
503
293
366
418
510
648
815
377
751
700
832
163
702
256
918
207
682
51
804
876
665
948
979
715
593
488
987
979
536
693
380
969
826
46
597
431
790
212
921
105
182
168
184
313
954
962
36
583
198
799
598
536
460
596
389
907
912
722
400
206
205
163
158
684
274
803
797
980
422
201
366
562
116
455
288
712
115
597
621
417
73
572
799
995
635
439
345
176
762
289
628
546
157
944
245
817
220
898
740
363
928
632
225
545
769
76
646
750
981
88
780
716
946
676
581
819
325
177
190
959
514
583
424
295
516
233
882
384
598
205
460
672
963
166
807
968
170
35
536
327
455
438
968
97
409
91
367
610
923
355
689
675
996
114
31
788
984
612
167
691
429
114
628
674
279
295
353
180
166
133
773
919
298
107
394
472
64
118
709
262
747
550
93
282
757
413
450
158
540
170
520
374
894
159
600
478
75
707
600
585
559
272
350
249
715
621
706
240
201
794
947
664
627
133
707
224
517
341
646
215
40
566
575
284
846
596
894
653
739
996
925
391
117
358
478
941
188
433
15
892
220
724
37
681
86
270
243
827
871
694
296
50
114
194
504
274
668
734
53
412
587
501
157
33
816
751
260
382
510
156
233
174
381
999
876
269
123
486
627
315
534
69
625
89
587
370
959
408
122
844
751
655
842
442
951
488
879
182
873
430
264
944
660
657
20
301
401
536
378
298
312
691
175
155
552
853
289
512
190
949
105
510
772
345
466
448
240
809
581
135
170
226
713
87
16
143
517
342
590
989
725
954
952
503
63
927
107
613
872
208
628
838
654
590
690
280
453
433
623
274
362
718
275
195
515
681
656
21
19
120
501
525
982
58
576
876
440
928
391
581
721
100
467
22
973
841
383
786
622
315
50
965
398
781
997
627
606
538
266
397
812
38
941
736
437
44
337
66
709
253
803
910
256
457
76
34
720
464
846
373
198
618
786
491
134
576
872
373
974
947
679
462
845
14
556
21
377
325
515
106
499
870
543
28
681
109
315
793
462
308
535
822
500
994
789
848
119
810
221
686
93
422
94
809
455
912
236
914
985
417
426
769
216
907
336
784
765
711
602
740
78
674
348
939
476
867
54
480
860
638
384
795
643
911
156
896
120
674
892
630
340
646
924
842
165
972
750
485
354
105
782
782
175
840
942
175
139
449
85
846
227
876
91
816
595
679
380
891
999
771
503
571
795
345
898
101
172
142
911
331
563
715
336
257
17
254
738
634
738
614
440
632
530
447
222
456
760
360
910
345
784
800
453
356
587
226
846
453
984
929
196
306
267
822
258
181
803
606
964
954
54
495
666
681
464
215
734
960
480
372
778
152
720
29
152
453
252
272
96
658
400
347
115
761
659
266
918
166
93
352
309
48
485
496
761
882
948
542
755
905
119
622
401
396
343
787
768
779
643
789
734
944
829
270
800
498
490
422
194
729
327
497
847
63
624
411
581
999
631
933
686
514
506
278
238
506
298
178
191
152
302
72
85
730
34
222
914
928
117
74
482
894
315
564
141
823
355
390
127
559
633
855
539
489
88
62
667
428
672
12
425
973
812
818
369
649
665
997
356
734
112
748
753
804
46
547
141
198
635
677
323
834
257
751
291
425
736
372
397
183
460
516
987
529
891
729
96
553
825
49
604
226
220
878
256
52
533
915
745
929
886
154
248
73
874
141
633
42
435
819
633
636
682
509
75
585
577
565
407
675
33
672
966
167
257
932
354
409
943
342
955
223
749
518
213
592
856
447
402
721
820
102
633
494
233
810
969
467
451
841
604
590
196
18
163
236
465
778
271
893
801
297
86
895
622
958
529
151
292
615
556
211
256
305
62
65
296
499
675
717
826
386
389
618
607
423
558
368
451
484
491
633
172
760
883
377
554
293
922
746
562
717
894
252
252
345
264
985
319
566
151
17
834
406
816
609
490
399
82
892
952
159
331
122
558
997
125
368
210
971
364
284
528
642
477
299
567
987
868
686
195
303
743
679
823
310
858
797
145
88
822
879
400
224
760
37
497
202
25
667
474
403
656
629
452
431
26
416
369
800
132
473
234
988
330
510
318
51
34
696
940
806
174
774
797
793
482
342
131
725
639
911
491
703
69
846
275
638
475
889
467
298
988
568
679
511
828
236
230
246
219
437
524
263
407
957
546
743
68
531
647
836
691
614
289
933
205
219
380
782
117
672
58
16
811
91
34
964
235
903
475
578
194
977
430
26
840
641
756
146
714
555
171
738
773
369
667
635
270
456
663
161
71
69
165
67
671
940
136
421
190
371
93
377
249
790
475
569
365
603
436
525
613
869
42
793
282
967
482
960
154
712
741
130
125
836
638
136
930
517
259
206
321
792
948
140
788
111
323
720
921
725
483
459
234
996
678
768
702
256
273
353
295
316
469
234
108
505
529
242
820
738
912
265
408
854
800
832
891
492
972
507
33
400
737
190
849
52
107
578
349
742
921
673
513
878
109
800
771
779
145
185
493
102
424
389
580
910
711
83
95
290
101
766
784
555
566
874
625
543
902
854
321
745
266
270
808
522
197
749
780
712
487
489
868
842
102
452
418
659
973
628
449
977
610
11
686
197
983
721
863
576
158
593
138
618
454
695
902
922
690
858
471
950
783
665
733
832
76
811
88
268
53
476
985
613
649
444
584
996
582
914
676
682
877
955
321
100
581
568
935
779
926
22
966
463
679
326
696
835
671
575
167
606
712
115
161
142
818
548
887
968
580
345
83
941
539
110
215
999
858
375
598
503
541
667
361
644
380
11
249
522
560
674
941
93
874
681
218
673
425
297
12
45
429
219
263
632
172
159
210
281
337
711
222
65
685
976
945
350
529
710
319
349
245
829
653
309
821
602
863
394
908
325
867
946
337
335
266
223
693
657
781
318
447
793
970
952
804
295
214
510
134
21
131
269
716
974
575
870
210
641
517
653
352
206
11
190
117
998
573
977
885
987
382
431
163
891
215
646
248
514
70
111
514
645
269
975
834
875
875
940
370
448
871
678
286
131
93
295
545
844
10
407
266
977
964
660
452
630
548
628
896
936
414
425
710
180
765
272
534
673
186
257
188
90
535
590
371
937
194
711
809
400
215
802
678
984
760
428
235
120
891
858
78
333
732
225
18
579
959
184
459
534
69
17
398
741
944
763
343
190
53
89
75
684
172
53
113
408
725
887
783
923
736
84
40
308
492
291
877
235
70
642
105
60
237
414
64
404
338
435
905
156
783
843
50
72
129
12
597
373
831
797
901
61
638
68
210
31
844
997
105
794
195
806
80
473
973
734
84
917
964
964
33
315
808
215
792
234
836
652
234
735
145
833
358
557
42
541
960
520
320
133
673
711
342
955
599
260
822
441
720
272
641
763
585
235
217
276
439
227
80
584
499
656
84
395
854
878
665
320
694
914
469
516
924
221
373
11
827
889
541
654
109
203
609
563
975
196
362
652
860
514
746
425
662
262
898
973
617
538
578
659
62
727
383
689
813
679
556
70
35
174
55
79
199
699
829
506
321
790
286
926
733
539
884
934
70
176
399
633
309
587
743
198
398
967
918
818
377
857
940
540
509
592
923
456
86
83
877
185
811
314
37
593
829
172
989
343
219
474
805
761
132
917
711
126
788
938
303
32
60
434
11
429
313
315
708
204
939
393
710
188
304
607
130
59
247
955
601
979
466
799
440
277
207
238
76
683
956
615
487
324
277
740
861
175
390
979
822
698
897
78
386
478
816
685
269
657
866
664
294
946
687
559
494
646
872
890
590
614
464
599
765
615
227
979
957
485
333
942
386
788
250
252
661
666
499
878
903
407
515
74
380
95
392
30
793
619
386
874
63
482
94
240
331
789
63
235
839
504
407
83
920
658
986
958
341
885
444
141
474
892
33
238
728
213
164
634
512
460
374
979
471
480
406
876
911
382
638
417
317
831
913
370
68
66
811
344
183
207
502
211
585
152
193
667
178
184
947
723
322
627
999
159
122
112
801
675
168
562
457
616
497
535
948
493
727
659
121
655
614
52
517
906
340
300
541
25
139
686
503
806
403
992
807
108
610
600
222
644
705
345
454
713
301
459
386
874
111
782
983
554
671
608
580
740
996
326
490
783
55
914
494
225
147
796
932
781
710
514
824
962
613
614
325
774
990
456
835
78
15
139
306
195
610
602
555
179
823
514
687
609
788
289
133
457
854
956
341
52
324
710
601
328
821
203
272
610
426
420
422
620
392
348
826
333
931
641
459
268
664
550
906
407
640
135
353
456
335
32
852
412
49
564
682
108
864
612
129
66
903
968
31
840
19
419
92
144
911
11
740
579
74
226
54
307
292
596
529
607
874
54
868
811
566
528
718
578
248
322
284
709
720
39
815
961
527
167
426
852
803
359
473
462
232
596
60
211
638
450
673
191
261
336
941
787
932
746
587
588
977
547
115
885
660
857
774
379
334
436
381
927
134
430
235
51
112
42
362
929
967
559
704
686
990
209
995
763
806
524
464
368
900
419
227
408
256
761
406
688
654
238
234
709
954
171
101
941
748
674
733
10
612
634
778
850
603
841
954
59
710
122
207
302
247
951
999
807
468
297
206
491
801
226
416
99
905
491
614
648
389
255
595
683
172
947
936
741
100
800
75
323
513
461
132
527
721
241
204
399
972
547
706
819
360
194
536
572
771
56
324
863
469
554
982
732
871
788
498
317
592
157
152
378
691
588
554
192
433
990
653
655
474
956
549
951
356
286
335
714
179
841
834
946
862
66
173
997
652
113
732
449
143
284
492
197
467
468
112
235
374
299
524
306
334
23
413
993
402
839
576
49
478
541
14
28
190
334
663
811
348
723
782
520
490
399
763
893
782
797
463
626
634
916
976
546
902
907
139
172
978
30
977
496
365
573
114
220
996
395
624
379
444
384
616
108
469
543
43
938
636
389
695
311
606
392
178
300
947
663
876
335
580
460
612
775
117
318
318
44
729
378
52
22
280
829
938
273
730
211
326
730
346
669
276
153
707
567
115
868
175
66
682
973
157
125
939
380
983
84
670
131
394
363
769
94
321
565
679
692
119
31
909
778
400
764
318
320
100
14
209
70
977
537
24
218
368
883
410
684
470
692
527
49
346
248
954
360
432
804
990
504
284
411
717
212
339
921
365
933
863
826
650
989
212
736
970
265
609
293
270
680
133
225
124
817
435
974
770
110
660
456
559
284
541
130
271
668
963
460
873
449
873
522
940
210
266
950
953
812
416
60
811
689
17
171
124
176
151
26
241
418
784
380
46
168
898
704
124
93
596
800
317
391
811
777
421
647
59
676
99
695
638
302
866
391
778
690
648
857
988
304
251
907
666
444
216
980
970
735
251
202
857
447
426
838
220
117
968
245
636
635
772
332
713
242
176
332
317
922
10
924
923
632
120
299
651
522
831
444
903
96
31
428
495
355
649
324
791
849
35
971
355
231
668
696
494
230
23
10
811
552
193
157
399
647
98
312
743
466
327
17
260
454
676
217
281
706
711
105
275
335
618
45
988
32
983
636
786
448
611
47
892
504
853
58
435
853
329
277
786
601
607
341
280
175
982
309
163
313
486
33
766
586
338
662
844
910
136
294
542
778
330
230
137
139
419
773
49
478
167
156
616
848
115
521
747
152
633
73
280
720
471
250
416
50
899
146
627
357
183
886
938
844
537
224
896
229
797
781
782
11
144
263
467
476
633
991
832
748
615
18
20
587
700
289
67
108
575
542
326
597
759
913
726
678
402
622
750
375
431
741
923
52
101
347
938
130
951
965
427
183
543
710
109
798
480
223
820
510
295
547
974
188
928
849
503
921
227
276
997
679
356
396
971
129
441
556
98
582
893
225
685
368
568
820
490
389
109
244
307
551
453
75
786
339
346
833
905
307
282
975
239
386
538
780
485
903
987
540
253
29
46
746
518
739
860
502
920
838
420
981
36
388
443
367
125
288
471
376
443
463
705
666
649
375
484
349
936
269
973
557
334
368
568
478
710
989
311
537
584
175
168
944
899
846
136
123
949
793
839
131
556
689
381
286
884
947
61
69
66
468
824
353
128
868
769
573
165
808
502
208
222
604
419
946
46
49
134
962
774
315
395
461
413
729
933
495
558
610
487
739
19
745
950
508
659
548
37
929
965
641
117
328
90
693
481
212
989
946
889
780
681
653
606
216
687
958
614
172
331
40
627
357
48
21
384
538
591
543
534
680
80
746
645
140
567
913
849
857
274
80
835
983
540
284
911
582
644
214
383
141
730
912
385
908
800
513
739
481
279
660
278
940
51
861
913
566
972
643
101
492
119
23
933
902
554
270
374
459
466
525
62
969
62
242
929
575
826
416
62
830
419
350
490
194
195
522
693
997
866
105
827
603
92
95
913
162
743
80
291
504
707
303
276
588
717
191
203
954
185
187
925
645
596
516
381
393
546
631
523
680
479
312
304
628
870
132
497
819
306
943
440
491
913
86
660
727
650
739
124
416
714
680
853
457
195
641
948
325
50
375
762
671
177
441
191
998
756
704
679
291
580
98
965
719
107
699
932
657
711
12
761
706
763
511
127
880
238
915
528
734
638
192
819
67
562
588
369
756
279
531
127
390
534
108
298
247
928
470
25
553
59
886
793
120
137
500
809
123
467
158
69
496
839
533
354
571
60
926
320
944
225
833
598
910
967
218
539
467
857
181
922
282
236
99
819
473
629
30
717
442
242
915
61
516
649
250
380
626
337
841
615
228
265
557
47
552
395
933
907
649
748
324
166
382
361
534
531
164
995
283
536
626
626
990
921
503
609
82
13
756
734
906
952
944
496
673
701
631
762
826
999
14
348
995
765
358
189
215
623
167
214
104
148
44
657
642
623
313
930
205
370
525
981
447
729
813
523
304
101
525
148
359
29
682
881
390
986
902
329
299
489
715
110
107
294
950
396
900
259
284
814
290
92
907
670
928
795
443
264
817
193
572
92
141
90
358
809
572
39
875
84
954
245
357
894
701
98
993
981
430
827
769
823
504
142
36
726
670
618
202
822
134
176
214
780
132
610
444
928
368
261
811
746
299
448
200
790
775
165
894
334
974
107
590
262
350
152
400
345
339
587
29
982
264
949
298
183
585
629
583
468
690
601
925
30
521
771
313
462
532
46
165
676
533
14
692
578
612
470
738
878
167
170
861
39
295
757
892
661
755
284
875
159
724
584
616
404
21
825
186
607
736
436
825
82
367
22
901
933
412
339
858
523
925
898
405
398
367
360
119
565
624
321
751
67
433
122
958
770
246
566
562
41
36
294
313
438
466
992
901
435
17
50
781
708
14
877
874
907
285
29
867
63
389
70
610
666
342
122
778
194
459
165
493
579
79
839
506
347
226
411
280
314
544
552
452
543
194
377
921
424
982
642
920
612
25
245
685
181
57
559
391
866
734
398
381
764
678
512
866
795
897
540
405
642
469
997
421
113
365
921
833
15
502
506
200
180
468
734
714
197
745
691
338
149
229
402
36
801
829
410
145
230
232
798
339
803
428
564
778
110
799
157
127
336
738
409
560
362
584
834
931
169
380
113
171
207
630
696
618
676
61
497
669
490
142
237
375
606
209
134
959
215
83
793
493
127
863
837
702
239
715
502
760
199
243
791
326
460
674
744
31
999
780
341
923
902
723
925
598
659
83
557
981
503
671
741
736
278
641
928
870
367
646
904
795
552
390
414
368
687
781
252
188
94
358
301
164
870
70
552
208
989
862
214
365
988
471
244
71
697
860
578
829
972
846
169
789
36
449
921
76
494
696
781
527
280
186
993
608
355
43
663
578
461
947
559
981
631
86
712
215
496
584
681
868
146
274
946
579
781
882
55
43
956
542
941
506
802
13
355
198
520
689
785
695
136
649
153
396
724
176
292
671
251
199
369
124
172
423
417
341
641
134
644
608
615
503
328
96
546
134
114
709
136
575
185
139
711
30
59
633
271
277
453
578
608
152
149
594
48
970
791
87
909
532
308
900
293
734
29
639
430
397
847
949
811
909
754
487
229
555
806
311
235
341
423
693
673
28
192
934
978
345
402
515
523
622
378
420
450
438
23
319
141
17
227
81
467
832
841
349
898
743
772
12
351
864
593
623
959
308
698
32
515
85
912
336
250
48
405
436
797
984
497
409
631
648
786
699
804
196
560
717
26
77
637
455
197
548
920
518
55
684
61
663
615
958
447
14
645
724
863
643
194
317
813
290
138
273
226
911
144
150
205
229
871
417
988
413
884
379
254
397
513
878
853
877
374
982
926
142
268
986
212
873
208
645
153
221
399
971
470
410
971
988
357
391
200
906
684
661
526
634
230
475
775
98
729
89
51
336
428
478
968
641
503
92
112
492
799
942
379
371
41
778
796
405
214
389
343
785
28
154
743
91
567
923
704
152
472
637
292
54
357
853
173
358
274
729
895
907
640
19
566
65
390
146
380
126
550
531
351
440
733
707
86
969
516
456
413
257
639
747
430
393
576
539
150
216
180
555
184
143
122
996
138
461
525
317
770
894
288
524
629
489
923
255
148
538
177
266
729
877
414
359
385
831
515
39
448
755
583
621
434
173
28
772
901
681
942
123
835
449
761
39
541
119
734
300
937
588
74
432
907
529
390
256
123
885
94
255
808
93
106
914
397
855
562
273
564
344
130
471
679
822
778
218
39
750
799
799
976
663
258
547
482
507
663
924
229
66
871
144
391
457
679
283
326
537
451
178
155
375
316
415
831
648
821
941
207
413
486
469
398
161
363
789
629
569
437
210
678
252
222
780
576
116
985
380
667
435
721
284
963
308
352
533
545
505
473
66
505
113
973
937
295
219
732
911
254
512
818
363
865
866
592
821
578
174
165
194
633
439
393
924
473
930
609
947
476
728
682
582
872
813
85
963
314
788
147
563
100
639
136
33
135
346
11
186
423
615
858
164
487
373
761
90
240
458
39
526
773
574
303
389
154
660
793
103
242
182
896
506
958
873
134
750
467
65
85
134
565
171
854
991
553
979
119
318
62
659
803
865
301
220
674
265
710
151
540
229
475
356
454
110
391
543
758
747
926
346
734
238
594
338
959
827
149
452
363
68
355
953
235
311
64
811
801
365
262
233
309
846
33
546
488
884
337
842
383
571
415
347
702
590
406
776
211
756
538
736
635
510
201
500
975
997
745
37
442
295
865
746
97
725
561
513
746
211
755
959
784
304
104
35
592
842
591
561
229
206
144
895
752
67
635
550
20
688
842
435
488
858
38
796
209
667
98
965
796
966
582
290
409
197
45
419
771
907
291
870
749
266
279
899
823
102
869
253
635
83
21
759
179
740
220
54
489
640
773
766
390
696
530
697
468
135
673
343
295
449
869
969
987
332
671
855
263
127
310
615
113
559
489
884
733
317
191
112
562
905
769
116
283
461
316
186
475
96
852
518
303
938
387
263
354
599
961
949
440
959
388
714
971
922
373
341
545
613
218
630
657
184
690
506
833
534
26
920
216
201
385
358
263
808
52
207
907
704
792
608
993
579
268
838
861
404
359
907
552
578
454
711
907
141
910
474
795
301
197
404
124
210
334
719
258
574
500
130
245
45
221
695
315
329
757
107
373
720
868
301
859
219
537
51
900
987
360
600
547
729
145
861
329
718
106
363
940
25
844
576
969
872
559
40
86
987
772
299
547
398
872
686
328
943
693
193
359
467
82
491
780
734
799
158
255
789
731
726
43
303
402
100
886
507
36
502
783
994
783
864
177
838
33
14
643
941
716
906
587
127
968
340
831
298
866
628
96
689
683
249
629
217
194
791
871
625
654
404
522
550
949
349
487
90
58
839
291
560
330
72
707
997
228
462
959
83
328
815
196
320
546
258
638
867
144
277
128
463
351
282
895
407
130
91
766
889
631
576
46
68
889
869
733
517
965
679
751
540
213
347
116
325
241
350
951
480
12
686
66
850
621
479
161
314
692
185
112
207
552
480
169
499
416
321
120
185
213
746
707
803
833
106
976
79
340
162
586
226
920
911
372
727
737
931
466
532
430
698
210
598
674
898
519
770
282
181
358
32
424
401
908
495
502
799
500
140
174
912
248
493
251
725
90
203
199
472
325
687
812
73
501
120
362
113
576
829
846
785
471
159
771
543
818
784
513
942
827
734
354
298
137
437
654
283
579
505
511
857
576
561
222
10
456
427
606
435
723
233
845
195
30
375
745
764
314
154
337
827
65
339
684
449
470
468
912
68
945
343
549
907
207
217
241
937
933
751
754
989
795
514
180
605
104
285
255
781
107
366
34
800
586
952
428
101
965
86
221
570
418
607
73
684
107
43
915
480
739
321
856
671
336
78
448
262
504
914
215
413
882
980
100
455
822
111
24
782
438
492
26
266
902
159
290
989
683
551
621
219
385
380
548
277
131
402
771
723
884
555
448
679
56
26
629
327
671
104
409
453
731
657
224
14
610
259
547
319
549
595
851
675
583
940
454
664
403
921
137
163
387
111
479
664
818
773
87
184
731
704
532
56
80
210
481
443
413
43
612
343
879
481
126
284
256
834
710
29
514
799
657
798
209
669
650
199
336
808
664
77
882
637
918
403
432
348
469
340
597
830
62
453
90
724
664
573
211
887
386
122
388
480
268
403
58
749
30
495
105
614
829
515
124
486
163
223
538
135
324
592
132
993
570
942
326
273
358
717
92
214
978
491
321
108
248
705
733
560
608
946
667
301
945
665
585
415
670
350
673
35
135
485
52
235
399
598
960
57
320
499
192
119
398
526
89
74
56
248
580
490
111
826
535
847
920
113
730
323
362
726
149
152
614
749
193
523
182
408
427
545
443
825
639
702
899
885
91
190
419
445
108
997
730
580
358
653
772
814
277
674
201
68
674
408
208
980
509
560
795
76
35
613
739
405
210
244
268
967
37
829
122
544
991
733
870
737
676
503
376
893
64
271
284
927
859
282
41
139
982
10
152
637
439
568
179
994
13
632
620
122
284
642
771
288
799
792
341
855
635
705
910
425
577
458
133
581
709
33
888
488
245
212
581
58
479
317
150
449
973
452
937
541
949
423
588
356
933
329
935
427
144
512
121
692
123
346
817
449
448
605
711
812
676
970
689
63
463
71
340
770
830
849
35
201
944
416
147
858
503
442
43
190
983
195
538
666
488
290
181
55
848
326
202
382
496
904
310
420
620
81
414
52
493
454
819
733
611
816
387
497
660
523
630
585
506
974
279
671
30
32
313
708
330
254
166
702
662
332
596
38
917
751
341
257
519
855
823
627
955
195
157
588
588
520
896
103
266
490
417
380
952
616
228
996
60
32
971
569
386
938
897
225
164
560
479
732
407
30
739
990
747
907
819
134
547
737
191
102
324
584
588
320
480
580
354
157
122
116
669
49
377
928
645
826
681
888
188
325
838
909
875
24
653
947
931
845
563
718
120
287
340
916
370
627
982
522
523
549
996
291
259
580
38
340
319
388
271
785
887
137
664
646
371
754
248
510
703
412
410
528
678
649
665
547
463
233
732
155
68
620
359
436
599
140
78
427
484
951
211
974
881
656
646
608
831
373
43
695
640
128
809
907
183
511
715
386
997
40
622
569
567
896
398
270
485
496
280
815
931
940
79
930
274
705
511
418
622
439
138
982
615
156
910
621
46
368
426
232
619
372
469
684
173
984
972
71
779
287
622
328
804
832
957
503
516
739
255
810
778
645
690
869
818
138
364
382
11
939
895
669
717
701
909
675
302
625
425
682
882
523
855
162
408
660
671
139
785
187
482
969
456
53
745
863
226
45
127
626
629
715
113
334
304
269
279
535
70
35
57
467
199
695
672
145
434
222
36
681
615
731
985
286
265
713
183
618
202
402
801
957
185
185
279
550
948
932
939
707
811
668
597
993
329
284
546
645
964
635
736
493
950
831
874
909
480
961
424
363
493
873
944
309
21
753
649
380
108
589
340
939
995
278
474
946
909
186
639
586
599
844
619
767
528
901
724
868
854
437
778
922
396
870
353
340
891
230
811
721
196
783
764
141
773
601
434
651
591
897
363
346
372
801
194
910
571
816
216
467
499
402
787
740
33
757
458
398
878
822
986
239
787
132
662
551
242
368
99
421
312
671
303
806
362
609
748
312
62
208
871
740
582
930
260
629
892
956
782
555
892
422
752
35
602
275
791
50
916
541
112
678
783
758
916
560
739
663
164
988
563
651
341
987
760
82
421
326
547
622
459
364
13
209
992
33
902
914
797
779
891
623
830
262
505
175
406
488
298
884
324
334
127
735
64
998
351
504
635
851
234
538
850
536
899
565
745
217
667
230
140
639
562
430
158
551
257
235
876
798
256
473
610
991
844
815
803
710
727
377
26
206
763
857
445
57
920
188
286
564
764
890
903
875
730
803
518
135
354
724
928
531
205
428
301
83
125
125
196
627
658
806
184
105
831
593
136
450
510
424
979
922
16
208
219
42
373
809
628
788
729
91
443
591
560
812
540
66
379
92
815
273
734
489
158
849
941
888
917
753
696
208
743
437
795
716
271
517
298
494
751
384
312
755
453
592
893
890
683
842
875
751
204
706
164
531
440
935
560
778
747
231
315
620
246
276
523
654
962
560
814
196
959
115
801
735
513
999
694
428
315
477
315
42
39
212
827
51
27
784
707
898
820
118
476
217
887
833
479
695
981
767
94
331
107
731
831
785
920
899
718
139
145
715
644
594
163
687
409
572
94
423
232
428
80
498
693
282
606
163
211
249
212
886
419
985
539
900
495
68
342
608
749
627
491
260
205
337
489
75
51
742
385
92
564
580
788
990
974
248
680
636
767
623
477
750
49
987
387
924
450
641
879
563
673
421
271
735
908
572
811
827
285
966
439
76
864
135
623
231
102
442
925
518
621
839
884
564
930
250
887
46
438
705
172
38
508
696
145
354
838
383
29
93
967
469
141
239
320
246
386
974
115
148
758
23
861
558
280
425
448
24
360
928
392
909
653
180
268
323
945
308
741
442
591
566
601
531
784
53
884
151
79
271
857
911
239
321
329
268
825
950
226
940
909
283
936
545
648
735
254
260
727
740
953
855
17
453
940
552
647
932
922
737
278
587
559
502
901
463
777
730
502
585
599
84
445
694
303
897
265
799
882
83
519
910
341
201
277
184
428
883
833
768
559
639
430
647
118
309
260
570
660
494
905
684
747
519
350
77
921
373
696
223
184
271
182
748
550
441
507
606
467
511
117
854
223
84
391
794
227
754
43
806
571
497
476
763
115
726
896
179
579
634
504
724
80
116
197
52
493
579
351
356
49
714
152
514
406
723
810
604
239
710
870
252
247
47
588
346
415
444
108
766
75
87
991
560
612
31
209
349
722
51
287
245
395
753
455
143
719
987
700
390
611
49
629
453
407
46
468
933
775
570
517
609
949
284
596
152
939
568
971
679
519
694
96
518
261
742
571
544
660
273
57
591
522
541
93
527
98
786
72
164
601
671
600
364
194
507
409
136
859
488
496
481
368
924
678
551
340
649
460
552
953
120
783
760
641
101
756
571
166
51
413
93
247
289
906
269
839
974
940
239
789
543
304
402
584
630
308
649
498
384
169
668
345
304
498
523
788
556
639
935
406
738
10
17
160
299
139
21
282
887
258
484
752
65
292
510
341
407
855
599
997
805
375
135
456
196
916
137
412
952
371
607
931
47
923
731
170
519
544
317
421
239
468
422
56
355
870
11
717
539
271
496
745
871
702
152
485
724
851
636
543
981
823
138
330
850
606
496
429
819
431
888
12
23
272
380
501
567
713
751
299
26
958
110
744
754
574
612
687
800
455
616
15
443
241
877
824
114
297
143
312
926
391
900
270
505
444
410
884
43
778
43
35
143
11
949
417
235
580
620
539
846
733
266
859
175
922
445
162
632
216
806
521
469
104
276
130
185
565
615
881
787
425
448
671
775
893
38
885
641
229
59
478
20
550
83
322
687
13
137
761
366
262
893
459
311
25
921
621
243
340
296
109
35
786
506
97
336
892
337
786
774
938
737
380
812
22
95
709
110
337
439
311
622
558
140
667
574
807
120
430
580
73
592
73
590
946
392
968
218
992
716
267
220
624
135
471
846
925
650
908
775
656
708
840
270
63
889
544
276
419
204
420
265
992
724
777
863
374
700
775
53
476
362
938
666
278
516
478
370
492
460
27
983
848
341
889
68
335
442
955
205
610
375
745
564
102
886
605
189
297
386
527
262
361
369
759
733
818
79
533
810
262
232
894
380
744
413
898
269
238
250
983
479
790
292
572
304
465
617
395
329
522
205
281
332
948
908
593
732
922
622
459
321
976
892
788
57
731
809
839
108
123
466
69
793
61
576
979
371
367
221
317
591
146
424
893
679
557
168
472
185
74
109
470
216
511
332
982
60
85
36
922
602
137
383
173
622
325
737
767
675
786
451
971
547
762
278
661
692
150
695
376
787
321
684
288
415
554
580
400
163
382
604
267
372
551
804
460
764
143
386
539
142
249
78
122
468
274
634
874
567
81
933
919
649
317
916
72
422
614
499
167
302
937
603
945
489
850
616
339
141
335
857
724
327
508
25
432
641
235
521
107
832
278
323
971
962
533
505
746
37
677
317
754
968
729
525
440
868
609
154
873
249
345
69
215
68
393
432
305
200
689
761
432
112
285
737
364
319
16
478
294
875
710
394
715
23
808
154
872
956
403
260
508
781
514
39
443
952
382
18
914
665
392
367
308
235
575
234
816
720
295
555
267
589
243
887
762
271
194
883
774
77
725
533
371
523
865
367
581
732
179
321
237
781
365
207
39
159
111
302
725
553
770
51
645
353
291
232
582
284
809
469
543
624
977
250
600
902
344
775
662
957
272
475
147
861
40
759
797
74
558
371
909
194
449
982
504
379
663
29
868
982
743
196
662
423
202
589
151
902
947
523
213
686
298
221
655
508
237
560
476
789
541
977
494
545
580
322
44
261
622
600
800
527
597
607
253
239
821
245
141
240
159
469
888
328
197
746
475
132
537
114
435
866
45
187
826
355
571
744
112
127
945
968
183
191
712
705
53
209
721
842
159
789
154
846
239
996
259
174
933
316
641
311
410
596
192
731
960
774
842
42
937
918
433
107
976
639
692
508
31
743
62
200
162
649
396
223
55
318
25
156
124
49
170
54
197
363
134
458
32
383
942
373
904
859
568
507
908
321
845
372
706
31
518
323
424
341
719
291
603
583
788
213
82
890
204
132
470
968
142
649
373
503
738
860
41
494
121
444
321
987
844
208
891
207
995
990
437
749
738
17
256
786
927
243
536
417
325
166
679
268
344
467
933
980
767
585
334
644
401
964
800
474
236
943
62
313
524
691
651
670
330
330
362
216
702
154
962
64
63
245
636
942
860
623
311
923
806
938
623
511
911
739
466
405
944
802
330
529
437
858
525
797
154
645
297
505
860
29
777
847
476
482
695
31
553
40
369
898
278
951
728
18
320
963
717
769
403
604
878
193
593
743
764
823
832
664
970
402
767
934
720
951
491
116
904
970
649
786
48
120
939
760
559
758
148
632
849
223
805
576
271
262
53
459
900
629
530
806
160
36
906
286
532
909
490
289
472
819
578
512
973
473
215
466
911
632
942
325
348
129
102
866
91
536
177
620
414
46
989
947
926
213
475
881
361
340
484
871
316
422
747
832
731
436
147
316
83
592
95
728
718
886
641
319
82
642
369
168
946
786
837
19
895
91
540
315
195
78
280
525
909
686
184
161
631
752
990
980
469
657
676
737
128
679
474
760
868
605
205
651
481
250
263
696
858
674
594
777
380
99
400
179
351
635
131
277
848
836
125
557
96
458
466
114
463
427
891
152
599
358
832
310
963
372
375
466
206
379
37
252
13
617
499
966
372
690
908
106
818
954
897
28
712
689
511
436
651
488
231
682
825
447
789
646
755
200
700
511
763
828
245
498
422
689
359
370
486
964
620
742
556
578
946
703
580
579
859
799
95
677
268
585
68
165
331
236
846
894
948
816
75
958
340
439
71
909
646
702
724
792
852
978
93
128
351
343
536
172
564
165
570
398
274
813
149
770
109
693
876
32
529
763
693
556
475
781
502
296
307
892
39
218
442
832
900
960
533
11
330
338
118
260
386
896
776
282
352
457
695
663
719
42
127
383
953
126
940
578
189
366
763
959
380
560
550
505
439
794
287
692
12
276
134
308
103
788
244
354
792
87
22
904
77
568
268
336
683
818
636
118
726
914
558
432
808
576
710
573
650
853
480
168
523
309
744
305
665
470
14
511
569
536
663
143
774
575
329
933
641
84
674
67
301
714
724
345
820
234
436
660
630
730
540
515
491
18
687
962
810
696
56
196
591
488
327
320
88
470
395
477
619
659
467
714
502
789
445
304
214
253
305
418
844
13
452
21
246
317
393
792
49
292
800
167
875
906
486
595
833
497
732
139
558
887
324
523
743
823
502
719
935
431
741
141
355
168
528
559
211
781
699
941
874
207
666
721
695
662
33
846
56
774
609
346
802
517
930
126
737
480
322
578
349
885
563
599
461
990
725
735
704
709
41
156
863
170
580
478
536
398
572
388
647
495
833
779
107
531
698
455
931
192
921
288
420
341
519
566
314
554
88
240
609
370
63
536
377
58
953
688
257
11
869
581
987
945
662
284
826
440
814
60
571
825
620
962
501
907
923
653
490
577
396
425
661
313
372
168
779
466
793
61
517
965
317
802
541
528
16
633
942
242
582
305
496
561
295
726
969
890
667
985
439
264
588
154
271
510
856
156
852
717
583
932
348
757
946
979
766
279
875
688
718
435
582
351
684
670
456
879
439
271
442
345
941
651
711
272
305
304
734
617
863
34
547
511
874
278
271
267
234
998
800
183
949
329
37
502
546
407
312
837
671
919
47
496
132
754
713
570
469
795
135
901
351
893
741
603
391
406
364
390
474
527
338
244
510
813
440
28
805
882
611
962
704
517
800
965
681
393
808
144
467
279
177
548
898
868
44
619
256
604
692
929
707
21
584
930
440
892
66
557
588
902
854
358
145
825
502
293
621
717
27
599
273
874
193
655
615
138
953
241
898
317
14
508
949
40
484
714
435
893
327
913
826
588
967
91
369
62
582
804
305
398
64
190
926
393
951
745
775
286
511
763
119
963
407
890
944
988
882
814
645
719
836
64
736
774
278
532
121
42
379
911
168
506
23
374
255
274
874
665
312
25
921
389
734
386
315
634
693
123
191
434
520
952
201
518
298
695
358
249
649
515
662
224
805
887
298
169
594
838
715
515
13
583
628
933
238
717
689
721
61
86
755
169
150
66
53
646
462
137
467
494
121
321
828
814
412
461
693
16
176
154
143
425
468
716
174
118
653
25
587
157
251
481
206
659
601
86
146
383
605
441
273
342
804
276
354
937
170
524
135
351
643
158
84
601
848
711
947
588
443
983
518
661
461
808
702
454
947
213
930
788
962
441
353
900
281
383
488
805
841
465
912
543
644
734
250
816
630
13
578
261
174
604
431
265
23
635
932
654
51
296
228
629
886
258
919
488
562
715
264
531
777
707
911
717
347
406
582
322
812
916
645
911
970
330
522
122
320
152
383
706
16
585
304
98
843
834
497
704
739
306
673
429
703
846
848
511
154
938
230
111
926
789
599
883
458
25
198
848
418
533
359
120
633
541
522
901
815
387
789
551
468
51
371
826
238
13
672
956
18
249
648
813
980
273
615
976
446
199
817
673
946
240
630
914
80
949
29
91
977
407
847
12
715
699
201
121
837
381
27
322
230
660
244
863
334
135
476
945
822
447
726
33
816
530
573
304
721
693
68
473
931
162
621
748
527
159
515
717
60
603
774
531
101
944
792
498
743
989
369
411
203
525
903
942
942
75
933
741
975
811
329
443
119
991
695
383
716
676
986
96
268
942
899
604
752
884
900
469
731
912
712
756
104
825
772
632
385
184
392
272
448
331
433
247
502
215
679
203
772
696
780
129
297
807
397
500
395
319
665
748
833
410
112
963
907
644
667
552
574
270
221
109
431
805
968
665
587
168
895
476
999
432
985
86
251
746
877
299
890
356
394
247
210
742
867
33
250
477
897
691
319
623
156
844
612
728
797
202
654
135
408
89
98
983
76
326
849
202
990
319
763
849
543
72
988
395
118
840
199
671
208
382
55
791
490
411
707
219
319
416
943
541
879
275
480
894
187
386
267
171
922
479
987
149
503
637
381
815
609
12
166
998
376
639
71
309
119
841
68
125
13
646
345
647
862
709
249
520
930
143
783
217
519
322
100
258
630
213
938
276
994
690
515
431
808
756
529
691
218
116
921
17
621
729
788
117
779
102
955
853
503
185
341
520
346
832
636
685
875
391
579
297
352
185
385
252
522
593
357
662
583
64
526
59
125
919
47
433
737
392
891
225
596
853
134
627
626
331
436
417
274
471
833
126
102
869
941
610
848
244
650
563
694
940
353
343
483
630
131
881
485
66
525
614
389
603
611
576
386
631
261
553
398
494
673
372
545
280
570
115
503
971
691
86
43
970
47
350
712
966
73
62
168
721
770
878
526
36
800
962
87
246
482
501
883
853
409
298
537
875
395
571
886
864
456
575
605
34
714
661
707
170
53
206
907
718
877
54
403
13
328
166
48
731
100
348
616
743
85
41
770
124
623
540
642
337
548
532
235
925
698
700
176
481
783
841
172
428
774
390
189
292
428
224
779
781
566
701
554
910
738
571
748
818
103
659
145
592
693
509
415
671
438
503
56
938
478
594
273
413
643
256
602
356
80
207
244
300
541
562
839
879
230
294
863
387
830
443
768
679
277
328
819
34
58
705
85
84
297
637
111
198
52
180
571
898
108
148
302
666
368
110
44
899
547
31
480
581
958
633
939
410
17
497
135
772
962
820
819
698
282
545
403
868
134
875
325
460
436
73
986
453
43
582
701
848
361
179
958
741
862
251
666
184
572
269
637
569
960
409
842
309
701
397
206
769
312
652
844
166
866
499
970
459
194
953
62
365
265
873
985
256
678
496
232
590
922
532
627
885
211
264
820
123
950
121
583
61
942
340
491
708
854
211
555
879
915
483
495
923
345
241
867
836
557
270
712
380
348
488
496
424
922
184
565
983
79
287
226
868
964
970
360
955
359
981
236
703
284
152
193
457
199
761
809
886
501
867
31
988
972
140
759
839
123
327
32
919
541
339
191
141
314
85
984
826
41
589
370
626
960
750
313
461
708
222
19
488
188
492
475
652
282
355
475
851
257
318
347
707
372
247
372
500
558
565
856
631
992
998
942
840
393
145
113
812
103
451
39
612
945
917
369
627
61
905
246
372
397
464
323
334
618
898
247
315
185
376
497
982
319
719
641
355
462
173
592
750
389
568
763
646
429
306
940
243
481
564
665
756
876
322
595
847
91
427
323
86
630
875
218
607
959
922
914
719
359
677
199
276
872
666
254
654
942
179
822
589
17
872
470
390
889
683
558
470
829
129
388
226
977
237
143
873
293
164
530
534
418
560
604
479
829
982
144
105
443
432
12
795
299
990
973
338
77
716
972
562
132
814
426
982
344
750
618
601
823
349
606
90
587
219
295
922
253
80
445
120
658
268
547
82
511
512
160
135
86
360
133
648
252
898
673
125
973
453
218
451
173
816
54
526
466
650
614
604
623
466
935
413
361
521
539
586
882
982
827
477
572
314
152
353
903
80
99
119
840
336
18
631
688
926
299
173
804
428
478
326
816
304
234
632
877
878
622
932
800
23
439
310
545
853
522
767
616
406
346
546
754
153
193
659
282
73
167
951
795
925
172
968
41
753
989
952
477
223
953
329
416
233
804
402
575
933
151
253
173
865
357
785
386
615
261
706
177
673
871
142
226
191
461
524
210
237
121
927
724
377
695
446
960
871
334
955
894
213
738
576
61
508
931
109
942
787
711
894
746
209
395
222
786
745
65
482
605
112
415
535
614
416
511
943
600
448
639
996
172
715
857
582
254
287
30
585
585
596
78
49
913
708
754
608
742
455
771
805
327
751
202
334
307
986
174
819
98
566
466
666
76
454
897
24
91
376
790
791
807
550
890
595
526
836
58
299
419
498
954
983
449
662
580
695
533
21
214
396
918
193
186
411
884
686
15
792
59
377
22
482
600
741
287
299
490
769
398
342
752
45
156
272
956
399
235
742
770
654
705
922
852
118
731
946
111
404
895
393
603
846
489
749
922
365
536
234
43
225
10
901
746
905
350
807
859
227
296
388
441
547
961
428
711
171
865
955
102
412
63
228
224
580
997
129
869
515
964
885
985
502
91
594
762
998
878
25
471
287
681
302
338
666
147
103
189
816
905
365
110
791
935
974
135
447
503
985
787
511
305
401
337
757
330
201
571
692
989
260
144
184
585
75
456
387
729
629
849
161
97
798
692
294
32
124
738
972
587
870
771
912
419
396
661
402
348
560
69
257
451
725
171
675
559
629
49
41
489
266
175
556
175
662
795
821
44
129
130
891
839
341
719
574
159
58
190
413
520
540
103
778
146
880
250
695
344
189
794
168
485
213
630
36
541
488
297
442
984
892
448
189
166
872
671
750
699
452
967
396
649
400
564
102
960
73
926
253
672
578
894
669
187
735
984
153
21
422
756
273
394
446
955
613
194
495
997
282
846
475
517
373
733
665
400
674
412
760
182
105
170
685
954
528
495
874
80
333
334
962
579
333
490
558
730
270
118
383
395
160
860
189
484
131
476
141
517
290
194
289
81
727
264
691
276
859
486
911
896
31
227
951
722
570
885
298
165
762
636
871
905
435
214
605
195
858
104
863
174
151
35
330
23
622
215
388
235
743
745
233
917
64
27
209
988
604
544
170
468
168
908
35
26
441
147
544
549
931
625
297
57
392
751
589
703
312
402
957
154
186
647
927
376
940
997
570
584
33
51
882
411
868
329
367
23
553
540
908
49
366
898
167
598
895
928
402
126
768
568
604
631
951
868
245
587
233
737
206
782
839
366
255
540
820
200
373
948
22
473
574
787
814
576
863
422
748
412
715
626
788
33
403
272
427
974
977
828
954
311
921
430
306
641
354
855
935
49
328
721
18
186
310
551
310
431
151
901
89
313
78
489
598
719
285
189
589
84
304
816
94
444
447
480
427
678
163
660
823
412
814
746
395
645
282
778
624
555
387
229
762
631
548
984
598
202
116
616
709
561
263
545
468
80
861
28
271
494
841
711
508
45
592
520
543
193
430
725
457
314
674
491
198
737
734
397
800
759
264
667
154
449
574
718
176
393
440
436
372
24
665
786
460
905
436
473
130
713
205
915
71
125
599
225
506
255
38
565
671
731
534
748
761
677
914
380
554
809
971
225
54
625
271
999
633
946
781
493
696
953
865
791
538
580
698
277
25
555
854
858
137
977
766
303
940
591
246
483
862
882
29
697
501
683
18
991
840
168
902
911
723
674
69
984
905
661
143
603
584
385
823
317
700
760
193
524
108
744
87
494
925
466
357
415
325
552
981
625
106
247
975
911
929
995
734
890
608
944
639
80
638
577
311
971
18
787
66
181
416
259
331
204
51
327
107
987
327
777
925
577
560
223
251
628
442
812
47
118
697
817
467
149
400
151
557
615
842
373
848
172
776
512
812
546
975
297
878
736
114
410
58
88
757
155
39
996
787
728
744
319
981
563
278
391
555
602
661
960
786
623
519
732
465
619
545
712
394
164
892
866
977
817
550
543
406
928
23
50
808
765
609
296
225
198
40
782
33
522
32
276
146
869
579
739
127
359
79
113
55
449
332
378
746
87
581
55
11
132
490
752
495
358
322
424
506
207
808
270
710
888
984
977
753
336
895
174
732
727
856
276
741
809
463
793
450
798
612
335
427
629
617
418
181
583
23
846
261
515
982
834
647
867
790
52
703
495
593
475
740
668
724
529
220
156
898
369
981
591
521
121
632
767
80
542
220
556
858
439
341
93
448
398
444
911
888
563
966
642
504
546
856
561
481
481
456
869
32
77
280
300
488
785
883
339
743
896
829
12
54
912
392
130
910
972
967
126
246
934
615
93
737
878
773
586
420
897
295
11
724
691
743
378
219
439
720
488
986
954
159
334
282
494
821
751
193
383
633
915
664
742
718
805
196
233
935
530
97
708
309
814
434
322
973
241
309
664
731
216
307
581
381
950
21
946
342
918
602
433
688
420
431
781
654
646
546
413
636
118
556
970
421
441
156
70
232
651
939
61
610
924
202
930
444
219
551
567
533
448
622
231
665
529
280
339
664
903
70
943
518
124
596
581
558
622
951
538
296
336
527
819
75
272
507
936
558
454
152
643
693
915
714
796
533
321
929
806
380
125
756
809
366
503
411
454
729
309
949
870
335
213
122
600
98
855
39
749
170
76
286
635
343
258
910
277
323
301
663
156
824
723
382
782
831
117
423
787
781
304
168
763
599
863
208
47
971
741
255
635
793
171
109
245
638
56
490
75
760
140
326
386
870
447
514
785
445
733
303
43
986
110
671
792
467
181
949
343
564
618
466
530
970
195
328
266
368
191
402
737
216
144
605
126
328
41
159
467
22
531
173
187
687
652
109
810
521
852
536
945
151
946
514
761
304
37
936
944
899
601
293
474
70
328
237
213
390
945
707
18
166
789
773
316
10
72
195
790
632
298
169
128
752
537
951
676
145
136
967
13
930
70
650
37
201
401
688
252
754
421
33
564
744
168
608
424
192
644
311
52
313
198
757
175
821
891
772
14
332
126
517
186
713
501
541
912
944
129
616
81
314
853
859
92
25
659
216
557
648
570
977
32
129
814
360
309
44
798
718
303
433
314
969
128
990
968
82
913
123
403
614
219
254
750
906
283
383
56
310
467
31
440
832
344
554
939
390
816
636
112
712
950
798
187
305
205
87
295
562
722
981
862
707
665
325
678
36
175
428
363
337
360
146
926
732
870
869
194
875
909
570
121
809
640
891
675
364
63
739
347
673
385
258
563
793
682
907
135
10
125
689
221
92
984
653
887
539
474
786
440
605
346
381
474
942
946
840
760
51
369
252
180
581
757
142
419
104
508
488
98
320
715
475
541
797
224
936
157
94
678
308
375
96
118
193
692
238
926
641
764
683
396
34
685
353
595
955
193
371
472
756
630
918
921
45
778
128
870
979
586
522
615
45
774
53
89
34
864
741
281
234
391
333
23
164
951
710
645
717
682
20
692
485
513
358
338
501
544
128
506
749
294
31
204
611
847
810
949
836
400
96
972
510
201
886
813
743
36
370
117
676
952
254
624
586
924
198
216
140
619
918
33
149
844
751
513
625
194
603
936
723
106
928
160
660
370
818
603
993
375
674
726
157
262
865
812
418
650
819
136
95
589
70
53
636
109
516
538
319
91
387
640
998
114
535
211
269
532
573
187
561
69
165
88
905
57
898
402
940
358
235
922
623
732
121
309
592
216
625
540
446
496
590
359
67
449
444
613
238
914
463
788
325
31
26
669
194
221
573
488
689
726
623
614
713
727
389
439
763
916
175
789
972
67
707
539
21
971
388
871
50
558
80
652
60
310
382
838
36
458
853
757
322
711
174
24
924
781
378
624
974
790
771
135
462
741
194
932
905
346
472
295
945
139
794
174
991
399
676
467
581
44
120
569
155
356
888
417
11
130
533
581
440
882
198
215
615
345
715
363
949
689
781
221
936
295
661
630
433
677
917
987
216
92
463
479
654
691
997
472
392
933
881
185
614
616
910
991
122
173
346
91
147
257
758
493
527
140
855
130
898
590
853
825
956
456
506
329
571
844
767
700
43
875
462
95
388
155
202
825
883
444
152
388
258
70
203
444
561
959
27
234
388
579
717
534
415
342
249
201
683
256
318
728
79
722
882
942
906
407
343
689
642
771
749
813
167
887
873
804
361
212
534
657
741
950
546
682
466
531
695
767
71
86
840
744
345
569
389
954
884
208
724
335
786
731
592
784
992
799
225
899
912
970
381
433
811
879
864
133
99
220
854
354
551
354
409
733
284
940
428
927
930
746
670
422
59
630
120
13
871
926
61
519
694
622
907
283
571
544
308
533
117
400
408
212
946
580
833
762
989
676
88
902
860
750
302
331
195
892
622
145
767
708
346
628
939
74
565
413
456
982
929
10
751
406
968
814
572
279
279
545
700
806
717
375
20
759
798
154
160
188
838
662
178
464
139
971
553
31
174
620
638
954
143
483
68
982
729
541
336
477
20
55
531
32
490
530
969
432
723
952
326
189
288
740
847
407
957
189
592
870
861
320
834
78
66
378
337
710
743
558
794
276
160
352
747
223
645
466
89
659
301
931
187
282
750
727
998
31
31
868
497
615
716
109
436
767
39
723
42
75
584
848
203
749
755
591
412
890
564
308
951
547
424
120
896
508
261
831
846
656
870
312
298
861
519
818
869
40
410
574
178
923
531
745
951
393
197
592
164
680
905
773
413
899
381
958
792
184
93
428
378
973
90
392
267
348
448
167
226
514
664
702
66
55
467
371
353
191
854
807
659
988
842
813
444
761
393
280
135
572
37
256
651
731
330
349
490
718
63
722
275
566
198
688
584
511
378
31
298
610
114
934
600
441
918
307
495
242
72
199
752
435
481
845
572
255
829
549
737
906
896
221
995
359
554
943
907
494
219
372
645
710
839
956
454
713
965
893
776
80
157
951
142
367
817
677
35
613
384
442
269
789
256
719
548
334
820
671
87
788
868
97
702
522
200
749
971
172
667
97
799
314
59
252
551
686
594
862
488
412
595
866
56
769
407
539
604
646
252
719
999
490
434
489
360
122
182
344
761
356
980
728
750
832
181
997
562
242
647
955
542
365
969
799
377
669
885
841
401
918
184
377
314
824
45
779
388
150
495
752
720
387
60
836
961
34
900
848
197
270
621
555
41
133
93
416
209
855
328
488
461
503
761
180
284
388
372
492
644
130
165
156
917
931
778
968
416
16
928
321
679
807
41
789
681
132
99
950
43
43
210
646
391
24
982
389
710
868
801
441
631
282
878
670
429
267
362
881
890
771
201
383
717
549
837
344
942
654
910
928
307
205
873
785
242
515
172
600
70
599
338
47
732
839
110
777
857
857
11
779
168
509
574
295
12
353
968
345
802
835
246
266
852
438
805
168
962
15
670
901
685
341
286
175
312
710
224
857
784
294
120
118
155
815
692
91
633
464
330
861
309
975
699
498
781
776
278
661
23
576
395
357
174
188
398
102
509
166
318
414
639
70
619
697
229
550
838
976
718
235
187
408
551
767
934
335
332
52
308
274
233
686
918
68
155
59
923
776
433
152
759
755
609
940
931
929
632
258
895
488
692
249
287
841
135
211
322
34
349
317
122
555
548
731
561
175
990
507
842
888
913
242
635
138
54
432
142
566
237
182
640
720
497
10
605
838
947
789
763
860
186
914
566
206
324
897
779
623
364
477
358
701
800
311
882
917
555
692
524
412
34
144
95
208
864
186
593
144
663
602
269
52
330
581
942
526
868
518
259
292
378
763
245
299
606
635
291
339
223
602
434
991
304
881
281
492
121
639
434
881
799
889
473
425
112
773
827
723
524
996
453
279
10
28
439
259
506
798
773
253
451
501
676
932
841
270
847
12
900
308
36
312
880
678
480
731
610
506
54
159
972
132
510
436
91
614
96
822
156
556
401
285
277
188
601
337
624
586
116
994
370
914
536
269
975
700
426
927
596
451
223
448
718
804
702
86
930
886
562
563
72
277
746
19
572
615
367
138
826
557
572
408
91
982
976
96
358
994
87
439
686
651
927
140
746
391
963
635
385
526
211
467
651
990
176
743
558
746
51
307
345
374
707
255
24
854
514
251
84
422
135
155
879
887
69
42
837
93
921
303
59
971
697
107
640
628
457
115
848
214
41
646
941
15
507
484
277
754
379
843
635
345
174
144
505
594
760
13
760
147
645
221
279
285
171
761
919
789
49
323
83
971
168
353
594
104
634
93
382
381
578
755
496
128
629
942
883
393
418
603
595
724
127
291
941
80
635
320
252
453
606
83
621
244
23
813
319
674
660
124
280
139
27
960
435
875
61
187
192
612
797
836
23
280
801
368
347
172
931
610
775
410
52
866
191
500
40
933
856
791
561
533
551
32
737
809
338
526
317
277
844
678
126
120
303
586
472
234
843
522
792
829
513
380
27
537
589
413
660
40
448
639
279
926
819
171
794
781
980
293
112
66
699
842
992
662
156
73
529
381
832
834
154
638
502
619
185
925
951
848
759
352
694
851
416
552
513
80
172
314
476
466
86
210
513
606
518
109
996
701
222
398
513
948
927
168
746
233
182
707
495
58
793
459
492
331
347
633
889
171
687
947
128
256
910
948
317
938
529
669
778
740
934
234
521
808
422
344
493
209
582
397
395
162
575
478
722
385
585
118
325
586
522
591
493
669
968
973
694
367
215
246
693
605
282
58
528
342
859
53
139
370
636
536
96
917
492
810
125
874
487
673
735
224
549
471
650
386
343
715
143
849
110
385
748
759
548
807
44
551
497
825
932
383
363
508
549
253
145
177
445
798
862
772
811
213
83
263
876
584
787
388
418
151
175
501
182
774
405
673
447
482
471
907
234
997
501
638
411
304
674
582
771
92
59
948
132
764
256
84
74
676
764
950
614
129
119
233
428
906
697
768
287
230
273
385
162
627
121
134
389
621
958
987
99
382
27
771
22
115
307
141
540
569
901
290
42
948
796
555
109
451
786
104
180
96
856
629
995
292
981
830
728
562
133
493
664
485
566
853
939
657
271
189
401
176
779
382
860
590
716
496
669
392
114
205
31
574
849
866
186
567
537
673
475
999
491
372
419
328
895
435
75
809
659
694
423
77
324
457
611
411
500
641
803
274
214
986
753
41
190
866
207
168
447
560
992
196
472
655
298
843
522
700
418
869
844
134
763
24
664
461
718
349
749
632
289
936
215
319
329
477
895
993
679
553
636
826
514
437
24
174
21
620
818
426
252
347
813
322
377
813
447
610
138
506
711
435
870
782
301
278
41
583
984
302
586
495
319
863
879
316
117
686
608
700
715
902
634
244
611
565
931
274
757
165
778
441
129
923
176
666
615
193
266
72
23
783
54
973
758
548
827
762
64
656
585
186
503
907
54
838
850
683
42
638
857
428
264
362
952
475
765
283
363
963
269
383
661
448
373
749
450
96
262
165
582
461
148
262
18
539
68
744
377
478
782
949
666
372
875
129
533
772
544
925
843
555
911
538
630
373
853
748
625
801
405
741
886
131
428
449
433
54
222
385
336
493
46
218
451
802
23
48
333
719
785
209
402
834
710
306
195
109
126
279
179
364
15
204
764
38
915
316
237
478
783
949
833
179
350
929
313
536
964
828
541
258
563
900
164
893
691
304
569
168
782
461
198
636
416
901
648
911
641
740
222
485
902
700
556
913
829
258
341
219
140
633
515
679
403
998
785
968
853
56
597
861
316
544
466
847
536
850
815
354
92
231
95
744
926
892
325
44
580
676
890
754
357
33
849
127
240
90
936
921
687
677
236
841
225
290
240
483
804
300
851
378
447
38
647
56
82
119
93
528
347
172
808
42
513
490
921
861
932
776
867
78
424
592
96
335
841
374
814
478
259
323
192
681
344
520
973
979
715
412
114
718
260
250
152
876
486
12
145
842
878
170
189
204
557
198
141
463
546
763
29
296
844
633
273
274
270
429
859
549
80
226
700
54
303
116
490
175
398
192
495
836
789
478
575
792
205
71
84
734
832
304
457
381
427
585
142
536
447
59
719
560
529
74
21
746
46
690
502
793
496
116
672
556
458
911
428
685
62
391
383
686
471
396
361
848
115
450
372
796
51
693
655
74
650
534
214
206
141
720
917
208
395
227
705
165
959
661
977
836
401
123
187
259
201
713
52
600
706
977
471
190
526
120
104
489
408
263
932
314
430
28
515
192
680
892
845
667
972
691
800
922
271
368
101
636
720
970
860
504
936
348
348
737
630
345
636
869
524
976
433
962
995
500
284
46
682
416
957
21
266
975
266
353
898
383
354
259
340
640
343
832
626
511
659
877
938
275
250
997
320
31
323
247
958
157
308
877
289
619
370
459
590
901
504
256
562
973
189
373
851
445
43
903
618
348
426
669
53
250
393
822
341
372
898
637
706
63
930
549
639
855
748
708
214
169
972
884
756
665
570
16
427
622
162
853
420
52
310
84
350
97
466
339
40
768
262
54
239
549
192
482
628
322
359
172
392
126
862
242
160
71
788
839
689
759
62
888
456
852
954
641
634
341
546
703
787
953
850
332
509
76
262
439
598
914
920
349
582
697
306
873
109
683
747
409
893
410
553
98
306
555
182
160
639
592
142
270
781
77
423
33
921
579
641
51
981
726
238
532
479
123
401
913
63
368
383
441
589
634
603
613
374
369
358
45
832
69
177
18
626
801
162
127
286
131
562
662
330
243
618
794
712
572
564
133
250
54
935
308
226
930
324
213
264
174
222
976
104
382
875
213
243
977
140
972
357
824
670
416
902
628
882
70
486
486
68
236
214
328
371
286
346
594
799
516
439
516
910
458
89
629
179
122
281
564
351
800
701
426
66
769
822
219
753
352
69
815
385
83
342
851
697
873
268
58
682
917
759
692
288
93
802
974
119
414
658
279
469
63
610
616
643
418
532
634
475
429
604
309
313
176
869
31
936
986
675
616
525
645
414
411
434
883
975
300
427
495
109
720
236
835
614
257
742
212
564
278
322
562
127
290
74
489
835
285
396
631
997
767
404
193
759
952
771
236
565
602
906
424
61
860
583
821
504
420
815
295
351
626
497
733
884
802
335
214
216
813
149
489
824
731
608
499
870
717
870
860
190
743
288
93
912
362
574
118
444
348
928
82
755
588
92
871
428
26
700
494
137
636
937
57
772
151
210
560
430
175
122
679
794
477
382
100
753
806
737
912
681
561
15
91
971
53
877
767
512
540
406
181
914
778
642
130
928
132
859
774
155
557
495
915
375
363
418
199
620
828
226
202
803
768
181
527
149
920
35
673
605
956
379
989
395
488
484
924
731
785
50
19
412
843
908
10
998
718
161
690
716
510
565
517
886
931
201
943
249
273
879
543
47
472
750
784
798
558
624
359
891
49
61
565
80
706
647
117
534
860
845
104
554
673
563
783
850
656
360
890
533
952
675
17
804
910
469
320
549
17
995
277
488
25
998
655
558
366
60
24
702
963
545
420
91
810
357
342
401
222
307
122
152
962
302
334
961
941
342
871
226
141
951
206
856
450
705
83
885
96
591
581
43
584
375
132
96
349
684
424
232
186
408
47
135
680
154
326
244
46
10
893
557
304
462
698
220
207
285
606
866
697
510
437
567
362
694
509
19
848
870
771
758
412
325
965
121
271
226
777
154
246
41
923
335
531
105
163
665
436
862
277
625
219
507
698
415
976
48
889
799
673
46
622
981
674
572
318
833
32
728
843
313
172
938
290
242
292
591
587
908
875
302
410
792
884
266
289
78
901
947
569
646
830
319
834
973
45
227
255
40
830
257
363
165
86
777
730
820
546
882
565
554
415
514
707
127
221
66
172
527
470
63
754
642
579
83
745
843
122
68
940
245
566
372
691
947
365
844
467
52
862
980
234
514
439
753
627
596
711
675
575
222
669
245
451
245
184
416
724
630
878
930
587
234
301
563
433
162
595
974
257
904
245
836
869
833
781
160
506
534
129
666
483
917
332
645
720
501
644
701
325
24
325
98
595
243
797
96
167
599
106
240
747
828
920
963
455
399
58
306
926
381
275
666
86
183
114
645
494
214
365
979
361
390
430
225
136
156
970
858
516
416
599
932
785
331
885
234
495
274
965
539
634
240
573
36
824
226
370
993
821
453
19
218
585
221
308
994
929
592
806
653
597
640
41
379
545
976
971
615
842
140
562
926
94
214
608
589
330
153
937
516
84
427
696
144
784
361
763
810
814
671
755
320
104
963
869
87
912
51
264
151
800
468
308
607
855
203
327
201
724
587
232
378
675
776
674
49
226
345
949
415
971
131
709
270
732
300
288
382
368
696
790
695
403
156
242
96
947
56
734
794
163
740
895
515
506
745
434
909
718
205
714
572
585
800
655
707
261
423
692
430
877
908
745
818
505
865
280
191
987
858
913
22
259
339
34
612
50
80
341
765
344
979
100
906
453
444
925
689
254
798
590
72
802
539
332
113
744
858
130
836
134
588
453
778
985
973
967
510
311
717
827
538
157
122
93
804
674
813
953
602
28
181
324
577
678
292
277
525
775
940
606
57
50
825
819
384
72
581
430
27
979
232
136
31
567
390
348
405
127
94
687
950
275
295
938
229
834
587
416
306
849
237
338
305
889
442
373
219
235
405
617
714
115
657
83
780
697
689
899
724
517
324
523
599
551
536
156
198
644
319
401
312
619
203
51
767
431
294
775
964
40
271
760
365
666
626
344
28
951
53
527
269
71
332
167
307
628
770
231
462
176
678
289
361
388
340
824
270
989
108
777
220
207
457
904
837
210
983
97
857
167
954
388
268
982
866
693
616
256
660
540
205
670
46
762
850
910
631
59
397
332
252
10
339
250
521
372
318
619
916
807
256
344
596
218
266
321
409
576
807
101
362
342
771
678
249
86
733
674
355
147
913
286
194
112
712
106
376
423
132
482
440
850
893
119
927
656
645
556
919
238
820
755
453
784
206
219
343
804
41
920
590
885
779
620
603
981
175
563
288
29
493
354
979
889
263
575
141
88
580
177
742
875
618
900
330
310
182
137
660
972
170
217
682
190
611
234
755
395
192
79
870
87
180
354
729
512
892
829
689
228
794
882
684
370
20
831
643
722
352
238
578
845
923
505
212
780
323
36
137
247
156
771
40
412
411
694
349
779
84
880
795
765
393
485
930
315
692
390
140
629
36
966
196
217
111
404
888
963
434
298
271
147
241
722
780
991
92
145
814
34
355
145
627
829
824
402
797
599
312
776
832
266
305
43
279
348
400
524
59
428
156
325
287
610
876
375
794
539
460
827
820
207
21
930
390
748
290
632
386
248
513
704
967
517
353
162
707
403
661
553
355
829
30
403
205
237
465
372
413
618
591
116
564
447
357
506
488
489
282
484
996
770
80
270
439
732
611
150
52
631
279
345
53
336
220
667
895
598
736
94
102
101
617
189
161
448
694
104
606
575
934
776
132
713
351
962
957
614
435
182
576
337
334
683
468
307
547
91
817
765
857
130
274
144
361
681
366
90
283
218
328
656
481
511
680
381
617
182
278
893
702
888
48
746
802
129
47
844
934
459
596
553
179
813
944
341
236
848
296
315
23
894
651
229
349
657
297
93
567
25
777
622
796
18
413
786
18
902
69
394
905
606
741
360
937
168
84
159
21
576
178
487
922
648
289
463
388
705
241
379
682
656
636
451
894
26
242
489
172
610
608
225
850
101
900
710
387
192
209
614
297
528
305
146
148
297
567
105
320
862
74
451
999
329
680
78
356
535
559
404
255
15
41
87
889
563
993
168
707
309
445
430
769
267
574
78
652
696
655
723
651
155
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment