Skip to content

Instantly share code, notes, and snippets.

@eyupatis
Created April 11, 2014 18:31
Show Gist options
  • Save eyupatis/10490390 to your computer and use it in GitHub Desktop.
Save eyupatis/10490390 to your computer and use it in GitHub Desktop.
#ifndef BID_H
#define BID_H
class Bid {
int value;
public:
Bid(){
value = 0;
}
int getValue();
int increaseValue();
Bid(int new_value){
value = new_value;
}
};
int Bid::getValue(){
return value;
}
int Bid::increaseValue(){
return value += 0.25 * value;
}
#endif /* BID_H */
393
724
122
260
698
482
843
499
769
670
570
398
938
620
576
7
35
637
664
903
505
116
246
305
922
12
653
438
946
543
598
822
35
651
556
512
825
17
521
775
188
347
263
336
410
281
714
123
796
454
576
381
291
215
579
140
380
17
79
280
596
730
843
864
486
994
939
965
746
265
627
965
567
384
2
189
917
332
973
768
625
363
799
830
627
814
48
489
674
744
323
602
145
988
521
916
315
354
699
101
622
463
861
85
974
156
93
299
142
505
520
698
617
194
492
894
102
441
267
323
971
702
205
168
610
110
142
624
571
952
205
230
816
568
772
159
179
672
677
804
359
498
51
502
362
127
372
948
356
32
396
723
303
174
651
350
597
949
93
476
128
905
315
99
895
452
460
236
303
671
589
73
738
979
808
433
912
602
885
332
694
755
460
525
856
941
182
180
230
52
284
262
268
770
165
764
876
345
519
664
721
969
464
376
905
841
839
492
996
488
620
843
968
76
926
219
487
256
635
651
341
537
31
779
533
325
216
696
721
526
248
610
221
61
90
815
753
711
510
763
484
483
984
470
690
74
532
90
511
67
152
266
898
225
192
790
803
608
549
153
89
269
89
828
402
968
19
498
500
698
271
992
108
785
116
390
411
11
356
616
725
491
410
845
696
17
559
234
649
202
406
788
326
28
339
682
328
334
423
969
1
403
665
423
421
997
59
202
338
149
145
115
688
538
99
575
290
527
495
681
915
773
984
517
720
887
90
415
432
778
195
880
306
173
595
881
19
293
177
416
210
815
891
637
246
85
659
307
177
960
818
43
562
851
483
632
989
249
438
671
672
490
314
923
467
605
830
101
3
822
827
196
417
724
652
112
316
98
254
115
231
243
943
528
761
874
394
166
39
779
924
264
930
81
442
3
602
299
777
319
697
376
272
348
373
538
632
743
910
107
13
93
391
404
267
851
230
466
48
505
950
594
244
200
667
681
790
667
205
868
485
96
611
301
859
556
140
691
503
656
414
929
504
409
592
202
808
695
827
980
407
256
232
710
192
947
828
288
218
778
698
188
911
406
661
650
428
876
298
453
982
790
119
641
466
606
951
7
93
409
389
278
111
358
315
731
862
954
991
365
591
445
252
906
435
971
630
605
987
472
66
248
653
48
995
808
794
151
201
930
293
978
827
774
766
448
302
791
100
423
777
692
391
199
835
192
619
837
888
131
631
607
679
219
49
687
723
948
770
244
378
203
615
223
461
712
495
473
963
750
203
330
496
462
568
417
530
747
223
213
356
889
708
880
3
51
968
967
970
265
541
861
752
809
937
262
615
710
728
559
980
631
868
694
56
630
650
3
91
56
463
555
721
398
241
719
414
32
56
48
922
615
852
63
11
362
695
217
457
541
246
119
451
319
394
98
113
512
96
310
753
893
530
891
904
445
593
117
914
375
628
131
58
737
30
543
702
234
21
172
88
171
477
223
629
496
132
462
476
634
908
322
292
76
349
412
773
745
391
623
509
783
746
856
178
718
212
430
909
941
135
383
887
44
37
208
923
840
184
58
759
829
479
77
334
473
589
303
111
857
690
578
824
268
540
947
687
725
829
340
189
767
976
733
96
622
526
544
148
463
355
787
286
589
709
344
915
255
931
824
833
340
397
611
983
216
787
108
116
974
336
678
760
645
94
442
665
165
573
951
14
606
350
693
243
660
353
552
291
403
580
644
447
166
935
371
725
707
736
171
906
953
192
190
929
291
786
25
343
770
126
757
883
580
228
739
81
892
635
964
996
460
24
425
775
380
163
520
780
80
182
484
433
898
95
765
785
580
486
499
15
661
1000
518
756
957
101
825
171
338
97
108
153
538
48
653
916
14
551
973
486
754
788
565
289
518
463
485
126
175
398
841
297
717
669
878
530
16
81
58
706
603
711
447
33
575
1000
725
462
246
588
385
667
291
668
992
805
963
160
929
649
410
390
698
375
267
310
687
486
434
487
275
856
441
234
311
865
833
301
276
966
811
462
890
753
716
206
551
839
52
485
723
379
419
126
342
95
118
98
364
43
226
288
810
166
605
813
75
896
661
206
767
653
662
970
93
149
83
132
631
792
749
399
343
360
515
457
880
307
847
748
508
750
940
806
518
218
947
843
580
698
495
821
316
393
884
695
307
861
294
850
868
897
878
7
168
585
820
57
712
451
336
310
768
538
98
669
41
527
761
72
813
731
113
360
781
909
850
416
44
367
166
9
45
743
106
291
776
183
145
313
238
402
555
214
953
212
890
7
335
698
390
960
837
150
141
666
94
248
638
787
751
739
748
332
230
50
161
88
504
850
121
459
816
559
600
564
397
202
116
904
435
827
67
282
960
867
809
964
843
497
686
245
803
12
886
691
180
704
308
327
242
539
578
968
972
185
983
678
575
558
375
97
476
157
18
987
169
858
955
881
105
746
708
190
741
813
44
428
979
30
71
504
492
391
173
185
856
1
161
887
966
198
513
931
968
979
809
304
803
723
277
706
529
303
855
396
760
225
373
935
939
324
207
418
663
918
274
221
950
22
327
576
167
403
310
552
311
787
947
99
481
498
842
902
670
166
121
682
450
915
20
477
743
629
932
153
627
443
86
83
27
654
445
480
257
568
427
360
569
679
723
478
280
712
841
869
572
731
10
832
783
506
705
267
841
763
392
304
520
780
33
68
358
27
536
225
412
197
596
714
489
15
317
648
156
697
589
959
598
763
444
765
355
192
533
793
94
599
388
465
792
169
389
397
172
595
214
125
770
147
62
874
772
313
145
20
630
150
784
737
517
611
926
951
874
620
62
390
672
593
346
956
513
463
153
104
362
968
473
224
544
132
275
207
593
409
453
570
706
937
13
490
837
673
949
81
900
5
622
69
200
561
547
805
918
560
185
176
442
9
720
590
386
462
836
635
372
859
172
438
54
159
503
998
382
110
659
987
831
504
881
589
148
709
597
983
215
91
581
936
759
172
66
861
3
47
684
337
796
588
14
793
432
459
127
540
134
816
764
809
147
840
661
784
485
911
150
879
635
348
307
684
947
93
860
36
19
641
544
695
85
799
818
931
366
578
662
157
308
631
697
418
896
172
10
137
566
236
882
40
731
477
75
582
638
432
472
522
90
337
614
501
519
123
154
639
78
172
289
169
690
807
29
79
435
216
516
607
284
727
716
144
933
906
476
797
417
962
334
423
272
320
512
398
202
22
167
798
656
864
353
934
218
725
123
375
418
621
872
702
463
429
296
235
349
32
357
883
34
914
224
92
627
856
466
590
86
446
679
237
490
560
362
862
816
858
55
373
36
587
700
807
500
671
707
208
816
158
453
420
856
560
802
917
97
547
755
787
242
730
534
845
940
3
247
677
475
993
767
44
505
739
613
754
269
587
453
532
203
671
267
904
582
62
396
369
609
822
404
402
380
756
199
923
270
586
866
930
589
689
480
933
808
250
534
655
257
902
678
242
960
485
200
883
196
558
38
295
446
691
127
10
616
346
615
791
819
410
756
763
535
997
361
76
682
210
263
969
968
954
640
160
924
717
928
346
178
505
751
462
860
731
516
41
499
925
289
647
432
597
141
920
509
427
423
168
857
252
296
834
561
977
436
384
366
630
34
357
959
269
86
352
932
346
487
731
276
419
649
671
135
844
185
10
606
162
699
988
548
421
890
638
752
626
974
17
298
809
891
948
632
965
905
203
693
254
968
325
415
407
640
384
61
236
498
20
155
522
642
60
189
296
383
844
953
759
198
146
19
605
784
252
908
549
421
307
483
239
846
527
374
529
573
249
629
306
889
77
301
683
792
577
430
365
758
69
675
460
559
78
923
809
299
894
326
159
479
550
566
148
158
196
625
137
222
534
967
343
375
463
840
643
688
568
368
644
465
407
166
323
743
818
544
597
945
628
707
704
98
209
997
136
530
303
920
197
175
416
593
950
431
875
299
434
24
319
42
553
482
1
313
977
640
801
865
707
41
223
868
708
254
995
734
163
876
123
814
445
433
335
339
860
499
939
271
592
65
38
169
31
640
874
783
864
571
876
862
876
838
601
574
397
915
346
2
744
333
694
435
788
255
603
530
988
737
972
998
871
307
779
138
915
185
1
419
269
761
534
312
525
907
227
750
43
331
971
909
945
458
509
505
959
261
261
408
745
33
996
201
207
385
606
241
561
595
633
889
600
61
390
843
696
764
746
938
553
565
646
308
626
672
471
609
418
777
184
810
596
252
998
169
939
238
17
172
712
652
875
577
909
923
918
235
230
748
868
4
312
285
255
914
945
945
95
718
510
436
437
96
869
743
446
86
269
520
607
757
623
756
511
731
680
622
427
970
208
158
508
98
269
793
87
666
98
747
951
957
862
27
883
323
819
95
51
619
982
258
992
951
434
492
77
860
850
734
297
38
632
627
173
858
285
321
377
343
324
234
371
627
42
590
39
676
930
144
777
744
408
766
978
72
790
448
187
376
92
854
457
986
362
752
603
875
716
555
103
425
142
695
396
476
457
770
180
140
481
220
106
840
641
803
974
293
714
286
109
490
338
573
121
220
297
978
651
394
260
431
26
211
859
240
978
217
513
411
701
430
353
663
551
9
7
991
667
380
729
52
590
360
565
702
765
557
814
724
430
274
45
168
989
183
309
746
429
300
11
407
717
165
88
568
419
670
771
466
940
683
230
750
931
485
815
742
358
28
449
764
691
200
970
553
456
617
852
49
119
934
806
799
925
300
200
794
820
386
112
798
39
372
107
157
312
351
480
612
848
927
834
858
471
133
297
475
308
450
624
381
430
356
707
127
706
794
734
222
933
949
336
147
992
928
614
889
368
326
826
620
891
114
879
630
972
29
490
719
890
395
30
73
957
351
633
24
484
548
76
253
521
711
339
677
281
886
495
721
11
804
773
689
831
570
209
699
704
786
307
994
298
302
496
486
952
23
13
69
332
570
11
569
687
171
325
216
756
817
354
153
512
604
924
827
933
192
848
61
869
458
141
222
931
775
460
211
30
816
442
881
828
412
34
133
893
805
774
165
808
572
278
226
819
614
841
854
866
852
153
712
3
712
611
76
277
34
623
509
118
784
584
472
163
839
910
450
219
147
652
663
787
771
706
592
135
684
578
372
429
693
998
538
858
538
400
764
963
32
446
2
654
111
323
844
494
761
482
65
877
128
885
996
671
541
556
831
744
775
452
994
541
684
210
434
547
201
350
65
47
819
896
617
36
885
170
837
553
407
732
322
973
654
66
259
983
505
595
16
87
354
79
813
463
421
252
694
925
455
800
616
562
153
443
779
326
112
913
229
505
752
89
368
521
442
427
265
962
24
57
532
84
37
647
127
286
179
161
633
229
1000
179
448
308
366
308
852
198
993
522
81
51
197
990
409
706
98
52
710
983
682
524
146
710
487
447
414
662
213
727
471
968
186
844
773
899
481
959
832
137
439
304
342
786
488
691
211
394
458
346
579
222
29
38
319
825
560
648
552
782
309
933
462
57
976
174
17
55
573
859
288
891
847
301
692
805
902
320
861
896
164
746
813
578
568
480
776
240
695
332
298
609
588
635
274
208
152
906
110
146
382
462
557
170
116
949
643
560
669
197
766
982
501
689
215
842
996
190
326
52
570
765
8
360
558
501
619
564
772
733
21
989
184
461
184
599
919
978
887
969
647
383
910
144
477
831
614
116
691
840
924
213
985
929
609
240
412
193
132
590
878
137
542
886
895
286
617
914
225
568
895
764
254
497
363
104
160
507
275
478
454
552
995
356
19
301
828
416
583
799
500
211
458
488
326
924
446
848
145
416
68
747
766
109
639
773
28
583
257
452
561
907
495
277
993
873
415
878
662
258
546
524
847
195
647
376
174
515
389
539
95
667
567
53
325
448
114
367
652
310
948
763
844
449
677
410
227
236
236
458
100
811
868
620
357
797
193
209
568
192
766
478
274
444
197
428
472
613
826
923
78
285
973
116
665
633
998
666
923
577
752
169
101
535
509
571
159
642
157
50
461
650
221
8
656
938
311
377
780
183
689
375
752
293
958
236
146
147
339
204
541
510
589
246
816
280
378
529
453
864
877
709
310
47
365
443
330
205
909
372
344
88
556
12
476
665
3
604
652
749
446
993
349
204
126
56
59
521
131
997
893
495
175
85
365
537
391
64
693
864
658
499
880
469
646
787
413
292
515
431
699
443
173
438
230
716
136
384
35
837
221
765
217
101
813
754
201
75
936
370
887
47
163
369
74
779
227
872
344
888
287
870
121
893
971
255
758
557
687
955
310
646
207
93
124
672
200
811
508
453
199
570
496
603
489
267
179
142
533
473
169
501
837
482
473
95
626
585
513
523
283
214
36
182
298
147
406
754
355
963
127
599
300
334
485
545
930
555
865
962
949
889
667
277
986
954
700
292
248
373
646
771
263
355
426
731
159
684
327
846
110
867
333
117
901
788
396
751
29
329
318
776
433
818
495
472
691
61
43
149
512
988
699
137
443
598
475
108
961
985
254
28
571
721
373
84
62
761
788
915
851
318
585
361
197
918
449
716
134
885
203
166
148
95
671
721
14
721
935
392
687
38
535
857
826
108
254
92
364
282
931
744
499
39
179
93
628
619
964
524
46
280
751
351
675
776
336
703
687
832
539
906
674
978
632
497
898
82
775
544
267
330
744
413
891
201
923
549
470
181
871
59
299
588
786
137
397
903
811
426
89
404
475
446
428
767
497
114
962
512
818
195
726
828
995
262
774
359
49
367
247
1
403
147
733
603
854
551
638
760
372
715
407
548
107
770
663
130
206
509
795
674
879
948
56
889
737
747
997
813
548
353
943
177
446
536
239
789
101
633
233
917
522
457
283
545
953
319
612
739
833
5
488
86
858
900
46
317
2
640
35
769
768
834
926
315
48
412
97
746
690
106
266
349
308
422
964
622
903
207
575
649
588
590
403
607
95
630
323
352
744
479
753
733
262
266
128
590
172
158
553
924
457
295
59
807
891
341
692
982
698
448
718
980
189
299
381
771
651
748
967
665
32
271
433
172
890
92
466
52
701
371
657
590
826
293
416
446
358
232
353
80
651
440
133
854
497
855
199
381
854
687
372
609
491
435
38
414
160
846
526
190
694
123
343
43
969
384
103
691
795
970
370
154
620
693
130
581
394
555
281
349
73
748
367
714
997
12
738
801
837
513
484
742
889
471
762
80
218
710
597
363
601
120
852
3
234
816
795
87
914
409
653
788
766
393
572
434
613
108
678
93
783
129
287
747
458
224
867
715
723
188
69
48
56
5
985
11
365
740
791
606
619
527
152
350
755
789
18
143
791
595
999
123
58
646
75
864
14
952
244
138
368
683
627
723
140
35
682
434
850
210
408
611
236
757
884
821
773
602
11
387
806
64
109
697
273
30
864
927
865
253
197
938
927
424
801
623
597
283
474
918
470
508
866
999
530
572
933
958
241
41
243
374
451
25
200
750
182
625
465
755
517
261
78
564
478
675
286
368
257
305
662
286
167
436
864
524
436
209
318
581
310
154
158
726
982
353
26
747
536
753
669
209
431
411
874
44
65
650
931
331
598
223
704
561
523
552
389
485
442
55
199
915
143
367
569
474
308
993
915
339
177
575
668
508
26
452
36
946
607
688
975
263
570
43
867
246
480
647
758
658
216
287
340
180
454
283
515
306
432
910
46
264
390
195
732
783
939
709
566
602
60
667
540
163
655
234
121
853
315
477
928
481
484
755
813
432
295
722
385
64
147
282
965
502
502
17
140
888
520
597
345
564
828
674
369
403
190
553
283
681
865
745
42
491
164
128
957
652
89
20
274
492
975
963
359
678
728
351
353
461
599
380
721
329
424
926
815
96
931
119
413
843
999
335
235
3
745
272
585
89
917
567
601
229
362
169
74
714
271
274
440
231
481
189
340
297
384
937
79
722
874
738
461
547
341
789
683
51
914
895
446
852
54
605
973
61
118
441
386
734
669
727
761
580
204
280
227
993
420
937
702
996
319
481
162
620
246
40
906
568
437
431
927
748
760
269
299
416
113
834
525
215
399
880
884
352
48
549
124
529
842
541
302
995
187
506
178
292
20
395
320
823
294
180
17
373
306
885
153
110
214
377
438
393
718
735
771
912
283
296
67
321
212
671
565
525
591
133
500
219
399
766
36
103
50
694
509
453
272
511
392
347
481
766
817
917
768
984
199
455
180
235
223
56
255
719
481
748
651
173
89
764
266
149
916
652
491
413
465
440
72
730
15
963
612
319
366
747
921
112
438
567
261
756
972
904
26
971
839
49
561
499
771
527
632
359
872
851
504
557
918
342
749
696
281
923
627
170
322
313
378
757
181
34
807
442
240
990
312
273
959
162
907
873
385
119
852
9
420
654
204
263
831
825
6
429
73
73
819
729
225
917
19
315
715
901
612
829
83
104
303
953
689
540
236
23
179
192
104
742
477
276
313
967
308
547
493
356
511
130
942
372
939
383
502
798
353
782
987
417
516
670
496
986
638
979
870
965
451
721
113
714
419
121
796
51
51
752
346
105
816
935
654
397
923
964
609
936
108
420
18
936
602
960
859
417
668
487
975
578
450
526
119
321
378
972
734
720
66
107
969
554
425
946
211
224
751
496
847
539
620
497
65
856
781
562
242
26
633
409
881
433
518
56
107
186
797
423
458
151
621
798
72
117
357
987
405
842
882
796
295
101
333
690
523
153
453
94
38
249
368
799
646
866
487
413
277
388
228
566
927
870
457
868
957
295
823
245
764
514
682
320
706
655
922
988
825
318
813
170
94
350
929
39
872
300
323
634
769
943
388
921
358
399
245
807
57
466
96
517
986
722
693
68
850
881
971
241
693
621
933
618
870
833
80
714
778
828
25
216
634
535
458
627
109
137
291
394
716
929
617
707
636
370
153
730
118
465
896
981
649
625
96
942
856
116
37
734
512
30
765
895
64
498
636
869
804
500
497
789
229
201
370
573
88
235
771
96
367
699
127
472
766
948
374
40
225
450
450
703
723
53
289
679
857
50
938
569
716
309
569
871
131
558
487
722
718
666
739
707
20
343
529
27
674
275
471
172
754
84
650
545
372
933
558
117
149
771
249
319
394
429
474
832
725
830
117
863
344
532
13
759
417
731
83
560
814
619
794
171
973
689
133
375
807
176
647
839
381
334
628
562
549
654
148
14
877
444
538
296
919
427
824
254
407
123
813
404
945
840
797
911
589
24
300
619
75
576
890
322
526
491
855
31
177
845
455
3
45
720
524
666
477
117
454
406
206
317
958
364
897
399
557
27
137
854
451
389
491
294
273
929
562
299
238
433
941
321
393
970
571
412
955
957
319
240
256
293
486
501
404
29
576
379
607
872
896
123
16
101
456
184
80
180
198
605
660
379
804
491
555
260
212
505
687
738
462
257
922
761
731
365
359
333
219
742
25
741
50
367
51
353
524
366
794
285
840
776
884
576
906
748
833
232
930
258
661
663
326
654
6
577
832
449
278
360
900
843
761
333
97
389
975
41
717
51
233
919
826
683
102
254
692
602
381
353
926
497
271
215
679
389
694
832
937
758
42
410
284
195
222
468
512
175
558
735
98
619
953
251
889
927
741
857
298
71
818
536
927
157
973
707
831
593
824
595
548
614
385
303
632
479
105
50
658
61
163
301
582
941
893
227
887
325
510
972
173
315
690
733
721
83
157
524
72
522
156
816
871
762
567
942
55
806
481
287
947
158
232
769
9
958
265
89
775
642
705
519
967
526
176
775
946
67
256
625
368
755
893
478
416
729
307
120
20
236
126
155
248
12
29
461
457
501
706
162
826
568
758
181
654
67
46
460
121
142
109
285
301
646
454
3
841
428
953
582
104
530
105
113
555
534
626
359
811
370
670
878
112
953
42
91
915
857
869
898
938
133
581
98
264
24
489
904
56
16
914
332
3
174
608
69
892
157
143
727
581
660
72
57
218
288
920
767
770
10
472
102
795
443
422
218
902
141
154
687
568
1
334
197
778
634
26
598
476
265
239
986
969
332
190
430
221
435
50
293
454
724
648
825
582
100
383
862
803
874
631
7
82
596
21
631
368
871
291
406
128
856
851
834
186
41
801
425
916
611
932
758
547
413
111
652
717
53
581
53
443
176
896
68
348
327
619
777
344
104
455
43
937
465
178
616
20
212
587
188
284
617
714
940
358
105
710
344
434
713
114
616
375
774
744
280
260
891
42
778
908
823
524
876
165
327
930
953
654
363
771
866
218
320
242
236
550
68
880
425
318
748
920
430
677
122
53
160
205
258
143
335
154
51
541
299
415
803
807
605
729
683
18
135
498
384
361
851
23
707
355
25
90
126
900
921
638
598
311
485
661
33
648
517
571
858
921
198
37
44
247
600
668
852
582
975
14
254
469
234
44
697
125
969
644
412
273
811
704
956
384
696
46
58
327
819
798
120
30
674
792
913
408
603
239
123
694
703
237
385
317
757
624
371
641
119
336
308
199
113
669
26
533
554
817
270
424
477
627
536
22
1000
762
150
414
539
375
641
215
246
946
723
60
653
150
358
280
968
514
449
635
383
120
666
692
38
819
809
333
18
259
890
917
843
509
797
837
465
237
25
529
674
201
440
561
200
266
474
42
473
311
448
455
208
125
957
981
502
882
371
523
79
813
560
942
728
493
860
443
691
538
183
687
978
565
909
943
158
1
853
521
153
674
187
814
965
180
658
481
77
671
819
719
462
73
287
105
752
724
234
178
153
103
400
805
92
580
944
387
449
147
341
102
427
656
364
758
807
397
907
253
327
785
34
324
444
499
180
34
553
681
867
406
37
692
652
708
182
486
274
188
93
895
130
426
204
951
284
92
916
950
165
609
146
102
27
98
336
479
986
59
522
468
184
401
646
66
188
824
165
203
278
54
396
708
649
93
727
677
906
495
999
765
423
633
919
383
290
87
295
837
598
542
274
227
750
85
527
303
352
334
491
545
965
659
381
457
696
624
659
416
134
878
37
464
647
950
921
118
408
793
382
583
819
465
359
801
196
17
841
366
659
562
171
700
208
445
473
795
831
669
428
496
364
8
276
557
484
746
969
625
912
610
870
923
376
257
230
640
379
635
986
922
121
627
58
953
221
673
434
791
14
461
817
533
275
364
482
883
205
43
330
396
384
492
806
509
181
883
458
967
812
738
466
407
822
331
369
656
297
725
549
810
488
526
802
212
874
255
431
304
910
214
870
701
818
886
820
948
844
174
199
189
321
235
18
343
741
310
469
456
781
655
57
638
920
645
648
323
793
183
661
647
979
755
459
431
223
906
185
554
436
408
908
555
976
127
980
910
830
429
899
766
310
992
841
870
788
56
243
51
826
459
467
896
768
309
625
202
481
758
123
357
501
148
309
68
248
749
916
757
340
425
649
488
288
793
356
532
19
914
696
510
731
64
148
634
562
932
456
699
452
423
371
352
322
320
604
648
439
259
484
74
391
802
694
992
620
941
819
965
877
1
173
529
266
768
504
737
776
617
756
278
332
576
985
7
427
551
945
543
341
378
564
910
801
983
764
330
694
699
641
954
100
682
988
687
491
490
586
316
402
60
442
810
258
768
402
20
359
746
147
987
164
376
623
733
164
697
381
720
612
512
113
109
286
114
948
603
306
913
687
906
712
686
206
786
168
851
749
320
685
927
652
114
698
316
345
258
169
629
130
263
670
58
338
493
535
703
939
468
247
351
595
913
208
916
411
663
900
655
402
323
258
312
751
119
735
542
497
506
178
317
193
917
92
551
418
503
332
812
769
832
529
861
87
305
819
689
249
458
557
915
798
439
730
650
43
668
739
413
51
126
52
293
121
726
10
291
889
999
690
722
258
643
343
605
676
554
357
229
142
606
108
447
492
824
319
803
154
561
761
301
562
960
227
481
868
286
695
467
402
684
531
834
580
529
395
470
611
826
212
73
395
48
247
576
467
387
815
578
703
640
613
822
782
861
35
845
69
475
38
208
663
737
330
133
853
337
705
928
119
427
303
334
101
590
497
810
695
45
846
814
518
952
283
332
540
761
284
278
564
421
284
885
611
688
999
894
981
918
647
152
908
496
281
224
294
492
568
771
944
224
393
711
101
161
605
662
859
989
80
755
180
733
12
663
859
551
25
638
742
165
246
377
909
943
978
827
351
325
966
369
840
620
548
414
342
209
179
108
327
835
903
723
758
966
366
304
375
201
860
342
131
294
719
521
275
643
104
116
646
63
843
228
177
198
530
847
489
225
539
672
724
372
934
748
430
351
535
215
416
10
555
898
952
387
272
41
630
882
203
224
455
437
109
365
473
452
947
794
361
686
573
548
891
520
627
413
153
768
489
754
714
719
652
817
656
173
140
55
563
46
846
969
105
530
789
117
783
906
307
237
814
834
189
865
852
365
536
460
479
965
956
779
913
573
319
192
433
67
887
700
376
561
90
617
382
625
622
314
758
870
784
930
457
328
239
675
188
725
393
187
590
38
655
450
248
701
736
904
553
454
942
751
82
92
170
909
184
309
927
709
953
448
227
242
620
163
683
189
656
970
426
94
573
148
779
284
482
742
738
76
957
228
401
481
652
980
454
327
419
816
703
656
388
786
426
233
566
827
9
273
63
86
941
777
949
502
724
451
95
728
698
790
99
574
65
779
510
936
641
619
165
627
989
32
356
584
622
991
958
713
906
180
389
995
143
76
451
569
70
331
712
215
666
34
32
7
737
512
284
984
213
565
69
320
466
419
485
848
271
212
579
781
177
544
156
120
216
467
54
561
817
313
789
658
757
921
755
659
764
140
798
653
132
999
3
669
320
527
47
892
57
35
290
466
912
617
55
206
641
711
252
149
861
849
551
47
789
138
800
812
833
582
323
419
797
83
963
990
343
871
515
599
154
124
253
845
907
761
811
384
779
748
586
444
729
750
173
783
171
659
74
688
14
324
73
396
234
821
230
741
290
702
376
921
740
3
394
43
328
184
313
490
689
842
423
217
558
747
219
807
39
701
949
480
54
793
953
284
555
835
765
374
488
179
187
635
756
635
118
895
637
929
979
630
209
977
982
370
328
284
318
983
646
935
605
645
920
963
552
554
655
383
867
426
692
795
888
348
924
260
274
859
757
118
385
3
277
503
619
666
345
576
110
727
996
938
618
432
593
222
396
895
162
631
76
876
190
60
360
755
7
473
377
177
491
436
128
962
511
30
346
696
968
907
420
886
737
908
802
675
116
487
440
904
635
170
326
736
159
421
235
137
319
562
64
282
190
873
959
334
28
576
618
109
595
183
700
867
293
618
301
826
882
569
818
31
21
792
345
906
274
443
955
123
493
86
819
466
676
713
146
990
524
960
353
81
890
734
709
20
258
623
929
241
181
785
840
771
346
507
314
270
561
235
80
690
490
713
933
785
407
772
100
656
597
449
219
39
270
365
452
266
28
721
758
719
994
823
237
101
674
811
768
44
508
124
853
423
864
299
723
224
898
889
248
988
324
653
155
636
630
660
358
974
690
660
963
283
36
857
661
182
300
214
747
375
416
586
3
11
272
221
994
106
388
664
152
884
84
670
155
977
332
529
723
97
162
97
914
221
51
910
428
292
205
2
203
189
10
419
809
13
238
966
761
754
761
447
883
53
633
483
290
86
427
15
385
549
580
801
509
369
356
470
520
25
755
266
649
293
294
173
406
854
169
955
208
401
714
580
644
832
433
604
994
636
147
345
669
831
933
118
773
649
633
353
828
729
649
164
68
719
655
824
351
84
611
632
910
355
176
881
641
255
223
970
585
921
627
226
563
918
955
674
695
855
974
817
652
201
123
448
62
326
225
703
424
884
766
797
292
405
978
390
203
368
846
90
49
76
892
404
156
383
258
338
319
687
178
928
446
630
396
231
254
647
481
669
694
816
256
186
353
484
770
352
157
798
324
437
63
556
88
463
322
782
725
422
87
39
288
171
815
785
373
8
949
989
105
543
825
833
132
306
625
582
190
459
450
571
184
96
281
856
962
875
657
277
141
147
426
537
394
320
765
464
597
931
27
778
92
777
638
531
138
518
391
905
285
342
20
175
30
662
852
486
592
305
661
524
87
347
592
320
668
544
195
179
442
320
106
163
101
383
921
654
225
368
151
286
180
304
916
886
373
378
209
194
374
160
170
796
76
429
759
82
663
780
650
106
573
442
936
860
69
114
483
852
313
173
341
849
993
316
675
324
704
539
88
441
245
392
47
367
938
577
363
352
858
340
313
269
636
531
61
256
59
886
471
681
302
853
291
916
9
249
940
282
816
132
812
123
174
550
113
142
459
216
687
37
448
779
256
992
218
51
717
750
374
455
926
862
339
12
451
171
95
370
334
785
384
733
820
545
886
80
329
532
271
714
708
201
390
11
933
581
39
226
987
358
908
346
591
781
325
274
845
71
371
79
581
409
790
653
441
646
847
881
238
590
989
346
183
108
697
668
931
277
408
804
203
560
756
30
975
252
681
865
800
506
131
897
880
853
194
333
923
469
493
101
639
388
593
496
994
501
982
718
965
439
920
80
603
397
69
347
657
513
362
442
899
709
5
704
524
751
862
991
717
891
716
192
533
648
76
119
735
146
252
329
126
993
406
167
228
820
159
187
852
487
116
185
208
421
386
233
774
741
743
514
997
590
590
214
300
617
322
448
555
611
950
982
375
119
137
514
83
292
858
416
212
283
999
121
732
300
94
806
981
783
289
607
445
273
356
380
133
206
249
952
248
306
253
837
296
200
268
681
534
632
124
48
897
955
139
711
140
579
296
323
958
728
535
186
277
146
652
867
730
362
196
544
596
769
612
344
87
6
544
353
963
116
895
680
873
501
744
685
723
983
675
502
603
131
424
28
518
642
994
857
220
702
560
38
955
201
548
111
812
146
248
618
674
825
200
161
479
126
371
119
614
886
852
368
768
323
379
659
537
391
511
849
353
389
683
858
102
253
694
17
894
752
400
482
43
245
511
523
236
738
434
774
253
725
48
995
384
724
129
506
819
446
920
205
933
268
991
998
320
60
93
575
864
425
209
640
924
114
350
158
901
709
967
677
104
656
10
490
833
415
786
291
999
755
764
950
502
241
381
226
742
531
737
547
360
428
771
499
300
521
149
243
783
878
639
953
619
474
176
235
567
952
171
673
134
886
889
832
274
896
859
543
943
881
364
811
368
127
22
448
186
255
352
416
301
807
16
907
453
763
96
380
985
433
385
149
238
997
178
613
323
392
429
894
777
422
503
468
728
685
937
376
786
403
776
706
790
282
72
363
932
316
97
574
550
821
638
195
54
67
530
631
14
586
226
123
470
593
762
216
871
1
980
447
893
199
212
706
566
74
954
238
769
794
209
962
166
502
322
665
87
361
96
594
689
410
911
183
964
250
381
955
826
908
803
114
543
125
287
3
231
937
992
382
28
635
326
419
794
111
338
432
881
161
753
634
600
507
301
591
499
205
17
659
460
608
198
396
918
253
566
853
234
869
964
659
342
214
632
43
332
596
670
290
546
735
844
613
96
105
264
140
464
3
794
484
977
372
298
395
502
853
911
108
683
614
610
279
375
261
264
892
728
533
210
92
537
561
153
669
57
152
849
854
482
968
595
136
665
476
24
68
479
233
87
393
400
417
390
382
542
514
236
974
360
698
834
152
684
804
138
19
578
691
681
196
750
484
605
485
896
399
787
246
392
841
618
532
235
29
501
871
974
635
604
485
654
881
728
886
468
35
415
14
902
495
594
529
635
531
106
428
369
259
440
905
44
618
892
227
623
960
136
494
731
369
887
301
956
956
960
712
551
209
487
437
608
941
522
820
509
473
522
4
607
513
475
687
649
588
523
981
395
990
1
178
272
959
735
716
656
194
307
189
551
886
726
58
42
145
631
603
843
92
710
756
709
892
474
672
240
713
949
278
834
917
74
612
166
801
850
428
557
836
334
420
78
703
604
431
6
340
715
181
550
878
506
351
342
599
812
394
317
990
296
9
992
565
621
81
63
358
151
785
503
906
712
691
1
103
175
952
688
505
826
87
568
561
519
438
989
747
603
117
757
798
481
148
240
38
454
545
905
323
198
267
243
281
798
371
988
304
807
156
848
247
167
796
711
897
176
764
449
55
903
350
959
501
567
680
86
227
449
976
396
29
855
231
560
8
459
56
276
525
163
270
253
928
226
673
752
710
12
542
581
789
159
624
256
291
372
775
230
561
306
942
716
108
216
897
638
869
148
963
701
456
431
16
365
47
166
193
767
170
217
60
301
954
910
506
560
291
328
218
874
17
561
435
484
405
768
588
688
201
228
578
982
989
808
662
267
869
464
388
726
335
430
548
832
735
736
873
272
899
579
85
283
369
849
957
979
136
812
221
818
963
546
549
240
182
229
321
856
307
793
565
332
936
783
293
197
193
460
433
434
393
346
669
594
699
418
855
604
304
132
42
156
52
262
836
783
491
350
509
275
47
165
254
114
409
192
1
971
205
597
492
126
774
529
655
873
146
893
899
598
354
915
621
221
873
922
99
134
240
780
941
594
935
319
425
767
188
907
412
274
657
53
980
131
869
565
552
431
915
285
120
9
91
918
85
545
154
781
352
306
343
561
586
749
600
355
940
742
237
297
166
19
884
78
716
825
676
533
363
377
531
253
890
903
834
889
614
547
12
383
852
332
282
899
965
726
336
623
264
88
835
904
915
409
368
465
933
343
963
513
518
429
342
624
256
833
832
234
173
652
275
381
248
44
326
147
709
993
236
862
422
541
616
729
687
687
674
999
43
972
120
189
47
978
278
147
522
555
924
936
509
667
47
617
974
101
8
37
355
187
565
588
207
870
852
781
503
128
647
158
665
812
254
709
8
390
849
512
85
994
449
726
383
400
524
444
897
266
847
157
400
48
397
727
638
458
989
867
241
289
853
63
889
672
540
788
162
573
409
607
514
458
409
500
64
532
63
303
212
937
323
690
603
602
487
512
668
154
437
639
745
509
268
681
800
230
817
69
904
783
652
38
884
106
879
990
67
741
498
546
586
923
98
388
537
597
409
609
143
356
600
886
195
647
228
269
246
435
441
722
434
683
373
884
364
660
667
679
141
74
711
513
555
471
493
808
388
190
931
514
8
355
170
81
722
91
613
82
861
155
377
311
190
653
470
716
42
378
227
975
510
566
445
858
168
550
209
792
12
877
644
188
767
925
655
170
265
995
296
315
335
87
555
889
519
351
199
854
12
261
820
626
361
116
372
121
885
374
302
197
231
678
846
942
189
165
169
621
694
782
830
311
933
908
464
363
608
522
682
886
710
527
925
390
585
607
414
557
720
180
406
880
389
577
669
577
269
587
470
713
167
887
395
5
267
675
1
97
657
56
657
425
490
320
899
957
764
279
307
207
637
261
207
927
152
199
460
773
433
461
244
85
750
759
988
627
315
484
572
769
311
300
485
126
464
681
888
112
411
348
419
229
197
242
166
134
559
751
410
724
997
402
639
526
278
103
865
653
695
369
438
477
329
615
408
943
582
760
990
159
461
883
817
467
453
604
494
739
325
203
433
27
875
212
54
21
468
380
235
3
180
458
314
94
520
188
47
650
962
285
667
588
8
925
588
279
93
472
375
405
395
723
301
819
540
972
177
45
287
555
201
494
474
374
220
880
913
91
165
597
478
275
401
993
294
859
399
614
840
632
438
449
739
363
16
167
225
383
265
105
566
89
953
535
228
891
578
332
186
587
665
724
591
8
611
244
952
38
323
333
92
818
483
326
411
990
447
702
387
354
687
537
859
193
210
85
314
834
558
293
342
697
849
827
432
236
809
904
490
653
899
788
824
238
453
357
846
477
204
510
415
844
704
546
564
320
913
846
342
235
682
309
637
2
921
65
134
650
17
894
34
856
456
646
727
349
660
715
415
131
774
267
584
957
510
505
284
913
168
717
436
736
670
236
756
707
743
730
417
597
422
422
317
131
674
964
608
889
255
652
225
381
896
629
265
275
516
493
439
405
436
493
249
241
535
95
240
949
838
251
420
47
291
141
916
920
405
511
35
155
953
984
169
713
192
869
386
455
885
94
135
461
976
815
234
820
940
177
163
357
648
464
784
803
132
575
743
488
741
351
229
529
11
819
233
850
49
764
133
70
320
439
277
480
541
372
168
863
787
403
58
861
36
123
983
976
103
784
784
52
329
660
215
259
443
541
42
195
745
732
917
693
102
500
929
339
316
348
922
483
75
930
94
753
43
659
912
693
675
289
88
150
940
807
212
486
502
41
665
507
833
223
573
247
369
633
934
392
112
127
477
168
990
3
503
995
891
198
716
67
541
230
7
263
285
675
283
522
399
199
666
840
769
353
826
589
660
374
775
715
808
236
199
685
260
67
257
779
238
819
873
410
781
798
684
687
86
238
227
378
277
612
407
726
791
793
992
354
698
479
691
605
44
554
358
237
751
121
994
338
686
69
528
701
269
893
793
655
387
389
728
545
435
582
597
613
51
907
942
44
424
226
39
325
163
753
899
858
315
323
195
2
531
727
79
302
338
50
529
711
127
10
747
20
805
341
96
543
992
141
305
371
288
948
910
103
405
8
462
76
890
850
612
512
772
815
3
922
686
604
846
330
956
299
169
583
670
533
966
94
982
659
930
846
780
837
993
380
345
936
652
809
849
1000
943
577
364
858
945
835
542
111
946
790
301
349
700
329
640
952
773
559
190
228
592
620
220
981
688
303
591
808
561
521
597
554
759
683
722
404
51
343
76
16
19
295
684
968
11
444
876
516
138
382
717
363
950
578
792
662
475
475
722
991
537
626
420
377
682
154
480
779
545
495
57
573
234
348
289
756
132
233
567
502
539
846
976
707
755
673
829
897
519
953
482
648
205
141
586
277
810
463
489
103
568
49
769
13
975
370
782
430
101
400
644
25
365
1
324
674
309
523
355
234
544
493
225
695
739
589
690
112
397
788
78
556
262
694
169
962
330
576
375
402
857
574
766
775
214
855
939
334
171
251
863
797
943
47
600
995
378
151
254
146
774
823
557
883
94
507
297
112
837
92
145
600
385
90
534
991
448
805
951
551
120
572
357
575
140
510
503
810
204
71
577
652
533
838
972
164
451
677
943
138
463
334
600
546
114
15
967
698
993
322
820
372
354
138
637
973
208
722
262
503
156
310
834
777
947
990
107
822
464
468
549
871
852
623
499
679
562
429
230
185
389
887
971
664
959
128
832
599
732
706
82
484
301
447
420
637
651
879
743
890
94
431
380
710
808
62
919
932
229
949
602
741
98
173
667
1
606
85
192
313
923
173
738
414
360
833
554
685
568
362
163
517
467
877
926
297
40
655
567
557
745
511
703
629
47
483
146
803
518
12
116
518
982
265
516
656
470
998
125
307
84
607
901
739
453
587
572
434
147
681
356
200
264
400
965
326
439
432
995
720
674
712
448
707
716
553
407
969
215
297
791
687
478
408
754
485
503
779
500
251
857
317
217
224
111
521
361
998
797
880
781
277
265
374
4
252
400
285
548
467
885
821
329
908
594
743
33
843
729
327
859
626
519
505
165
290
676
935
370
234
270
123
936
754
408
420
364
453
891
882
915
810
6
545
230
310
774
580
69
571
238
223
169
853
843
81
621
175
562
633
208
28
183
321
880
329
98
592
905
830
995
686
265
662
105
733
553
98
28
942
968
864
716
295
986
563
884
142
977
852
976
567
300
9
842
185
404
463
419
294
90
665
80
955
328
387
732
591
19
196
466
213
614
358
261
170
812
890
287
669
414
814
380
924
1
922
579
911
301
538
2
184
1000
800
938
111
252
1
734
174
361
355
972
698
928
402
462
495
257
892
772
402
968
647
382
661
572
363
61
367
244
745
731
12
126
677
903
241
291
368
767
532
923
509
133
435
367
566
739
397
449
220
877
958
848
861
882
276
402
757
838
524
915
222
703
712
399
635
214
838
752
658
76
121
509
381
412
251
685
403
920
204
694
36
943
206
4
957
473
841
486
589
145
144
389
443
437
746
480
451
626
800
183
39
510
449
483
341
579
74
935
465
77
408
392
183
359
888
945
760
79
281
141
888
955
710
760
852
329
688
294
137
279
679
819
634
792
986
112
510
386
491
720
561
606
878
191
601
44
489
805
990
854
899
987
959
280
617
21
755
361
74
818
981
810
178
273
716
45
314
171
118
492
561
708
276
567
334
405
1000
193
364
661
86
327
154
166
359
722
600
198
452
61
482
117
845
718
896
477
162
555
529
790
111
642
868
375
728
257
53
671
778
262
106
99
286
801
694
818
135
275
423
723
633
709
883
627
703
976
324
876
149
798
898
550
7
95
839
19
582
52
844
860
187
208
169
34
946
991
630
803
303
379
812
71
7
795
226
697
441
899
98
872
109
706
759
833
1000
295
295
11
317
484
257
242
756
982
740
775
123
927
67
676
576
220
640
636
196
727
278
368
897
256
488
513
926
190
677
422
321
805
268
300
732
578
51
892
956
261
863
346
391
93
879
909
352
279
359
859
870
791
720
416
157
632
152
435
387
911
844
349
841
480
55
167
712
431
911
355
122
445
809
47
925
831
741
369
940
139
690
615
134
356
483
632
96
48
130
60
884
298
737
992
927
893
532
233
244
51
414
555
622
889
697
277
820
976
405
34
44
535
552
834
168
335
342
364
178
821
90
32
359
819
16
427
553
13
709
711
672
431
242
958
273
401
370
600
667
759
230
973
494
653
252
387
112
891
754
297
493
678
828
912
510
505
681
22
652
132
544
913
217
893
650
980
12
970
512
61
384
952
957
569
227
684
912
216
207
396
950
496
54
124
12
121
239
715
475
289
721
43
1000
2
737
661
182
653
815
767
25
755
282
260
744
989
519
627
161
707
179
636
279
685
342
51
182
133
352
161
535
984
685
462
354
1000
736
700
635
530
867
376
649
644
397
967
435
910
466
339
68
331
880
275
792
788
99
608
995
914
509
177
298
451
996
711
760
41
634
797
278
852
977
285
832
622
63
836
96
495
715
835
321
512
174
557
89
715
372
310
721
617
424
239
654
222
992
640
54
876
273
895
314
956
253
629
854
837
738
251
791
611
449
844
671
767
73
269
407
396
806
405
996
525
315
736
347
871
504
806
817
630
685
675
600
936
13
174
203
254
78
609
610
307
611
609
606
79
130
944
962
66
187
490
810
241
607
990
631
104
712
898
683
803
101
389
607
554
963
560
187
475
261
975
944
538
393
937
296
530
70
324
538
806
243
369
762
133
879
526
171
114
252
418
900
529
214
943
642
405
607
789
818
806
567
967
22
134
965
502
769
180
683
63
329
325
676
176
554
23
65
596
197
178
571
601
138
78
694
231
311
322
925
963
924
574
197
910
678
29
454
397
351
199
959
691
32
997
468
732
736
134
904
946
912
505
536
599
547
611
948
717
235
41
284
277
528
693
354
227
391
732
178
937
348
241
477
814
182
149
416
161
707
278
642
835
135
333
287
901
73
187
136
270
13
113
611
253
466
484
564
83
554
49
127
708
980
83
42
582
750
593
931
758
960
300
979
311
216
282
345
16
10
17
430
243
445
61
811
234
261
740
252
287
6
62
694
871
568
496
571
387
978
418
81
98
577
772
274
727
180
948
970
394
813
966
528
808
991
795
438
120
244
47
570
429
812
346
656
711
970
380
236
829
473
21
882
403
982
933
988
514
136
756
767
609
160
314
419
543
489
272
608
359
928
346
468
285
287
448
408
444
257
142
844
918
547
395
847
158
932
883
392
199
928
56
538
779
255
754
393
258
121
406
176
186
627
755
23
452
280
607
440
262
660
328
482
536
807
666
775
970
767
23
513
678
39
469
396
246
396
652
303
83
631
231
149
111
331
633
10
254
696
729
74
641
742
499
401
144
997
878
799
688
906
752
333
734
743
493
116
507
776
549
81
799
786
310
358
662
827
902
733
880
280
613
439
888
844
365
153
740
89
30
677
764
596
404
242
812
511
344
741
381
550
918
498
420
96
398
374
369
68
609
95
780
641
420
710
945
761
162
981
64
622
360
336
866
906
443
738
34
661
60
444
445
138
166
179
31
779
352
681
6
803
745
924
317
533
400
581
441
680
285
455
61
295
883
671
747
978
908
376
472
264
847
627
706
791
893
861
864
975
293
91
82
440
317
550
655
382
864
3
993
367
162
362
587
807
180
579
356
520
99
967
670
297
677
285
529
397
393
912
636
213
16
416
575
173
658
632
909
66
409
164
758
595
392
841
366
945
427
265
200
554
525
33
412
45
139
605
814
538
410
90
130
126
653
384
928
355
999
226
536
941
390
718
236
835
118
770
198
932
687
776
965
417
94
500
743
754
538
829
421
806
145
555
29
421
582
811
284
115
285
120
988
120
647
268
317
188
660
407
418
9
443
799
373
3
556
656
241
538
238
356
849
357
508
135
998
88
589
19
974
237
245
398
600
2
472
101
589
569
395
278
606
284
388
707
301
262
195
345
537
525
268
102
162
723
625
835
17
870
279
502
261
275
704
277
740
51
841
161
887
143
886
310
539
815
456
848
144
948
772
419
83
270
167
101
165
874
590
602
966
979
738
850
325
931
155
173
201
823
880
289
94
7
261
222
405
957
111
93
429
615
715
442
177
401
83
368
833
520
474
338
455
61
444
914
505
673
575
31
851
243
595
699
194
130
845
163
258
952
885
630
677
864
567
634
230
524
119
2
984
679
576
161
909
411
427
226
786
610
492
898
525
138
840
712
572
529
40
599
728
764
158
2
522
841
671
74
287
378
939
540
209
481
931
918
901
440
679
670
540
611
302
749
171
10
545
738
569
712
453
449
977
179
202
411
72
983
118
153
799
237
607
571
47
232
64
950
734
389
820
397
516
681
839
562
247
67
188
504
280
359
275
478
906
138
461
253
525
15
937
269
641
563
694
584
414
718
992
100
274
299
4
997
75
577
188
646
365
501
518
539
609
255
914
926
618
332
89
916
30
199
538
782
386
911
621
79
277
771
483
981
36
221
82
917
685
689
756
209
189
18
529
905
568
477
875
405
121
42
737
823
806
829
404
208
824
80
262
923
582
71
558
487
510
687
15
132
655
152
589
192
575
613
685
174
830
828
886
30
287
228
591
728
502
978
33
678
729
518
789
957
430
215
249
551
753
423
531
58
129
227
935
338
972
598
392
668
534
522
280
809
62
873
651
255
815
497
133
631
886
974
771
849
505
16
601
167
216
315
41
728
321
916
70
519
68
887
720
932
328
115
628
283
924
570
275
699
350
260
61
765
357
405
527
204
752
73
925
642
828
626
795
207
7
840
358
311
679
516
383
469
681
697
612
409
587
369
963
63
738
662
517
241
1
123
717
921
299
572
311
119
329
460
298
262
264
355
568
822
900
425
954
724
429
318
162
701
963
858
388
356
999
367
484
131
248
203
199
797
639
351
373
331
856
481
969
280
458
931
449
762
501
489
347
309
577
679
831
617
370
516
690
136
155
304
428
117
117
137
121
382
52
206
260
619
771
875
50
438
485
768
539
773
569
789
533
492
351
63
429
197
988
292
7
305
97
912
728
441
488
732
272
90
287
454
911
195
748
567
771
122
257
670
237
1000
405
150
520
922
501
522
897
950
567
454
263
150
696
641
381
110
620
271
684
554
485
739
555
648
105
690
758
596
446
169
120
920
671
910
572
614
855
310
442
992
387
676
202
640
169
699
936
341
925
907
475
229
356
96
471
717
385
296
698
919
469
896
508
415
782
955
687
180
113
566
917
432
465
382
678
968
695
43
689
260
986
326
949
253
607
255
991
294
193
325
244
117
730
200
284
98
556
993
316
309
906
253
447
14
11
331
187
347
275
635
126
861
827
642
949
550
619
206
755
694
273
819
182
600
109
26
960
887
105
85
338
500
97
340
311
1
141
465
657
51
850
931
616
195
436
558
449
190
371
4
214
163
849
391
840
830
698
31
995
833
986
424
289
45
328
234
74
312
829
995
480
711
664
634
349
827
535
762
409
990
621
833
389
643
199
934
747
244
794
961
362
192
589
358
825
254
827
471
962
915
119
742
803
860
877
688
534
537
597
585
868
379
330
310
872
783
498
597
549
418
139
269
366
751
789
677
457
945
456
642
496
458
582
731
58
723
432
524
840
265
122
903
298
494
338
51
82
203
891
990
166
489
405
992
710
405
840
131
516
168
18
588
372
160
24
29
754
266
167
561
85
316
153
290
198
545
294
476
773
8
832
659
202
823
936
866
815
979
518
219
381
191
800
824
586
952
445
836
511
486
179
951
181
805
48
422
945
416
829
869
782
547
668
795
613
935
736
706
383
308
520
208
952
732
385
231
822
856
242
827
345
956
440
574
328
365
504
729
893
526
986
691
41
430
466
204
610
655
712
22
220
557
106
417
373
436
695
988
73
632
676
742
204
620
661
288
452
90
819
302
718
932
894
135
829
786
102
520
825
550
158
893
297
799
996
744
6
609
297
756
527
660
572
229
756
835
405
425
902
738
423
41
24
685
698
939
275
780
592
675
722
594
495
91
75
841
518
444
654
202
957
113
696
79
280
929
426
669
453
539
388
180
639
60
183
440
731
442
115
374
672
610
256
81
267
451
65
295
1000
156
36
37
435
239
792
176
884
824
676
438
414
402
179
105
710
345
440
310
947
899
699
337
638
242
785
801
369
492
650
908
417
184
509
292
545
851
361
22
658
823
551
507
598
249
540
962
68
651
259
972
591
34
240
514
421
683
231
454
547
293
151
137
285
24
43
235
448
386
164
360
776
606
455
331
119
280
425
167
851
657
920
24
132
856
324
333
925
702
492
321
131
610
143
968
810
142
443
197
212
437
302
744
268
711
194
747
269
404
423
550
679
373
374
594
436
714
663
570
609
444
104
184
25
254
25
1
279
2
825
814
607
436
597
925
229
878
259
522
126
236
948
58
671
788
332
193
191
607
102
360
320
391
149
492
948
705
836
764
710
345
338
498
163
592
228
491
279
640
364
143
422
345
680
700
715
778
622
820
591
748
868
464
374
585
417
781
923
995
322
299
745
718
138
178
465
71
601
750
265
160
231
864
655
749
261
752
992
255
785
326
255
366
82
775
893
86
820
347
15
818
256
981
793
253
610
274
712
433
488
875
228
328
626
998
454
666
234
206
743
574
922
11
407
773
510
89
385
695
50
157
321
912
999
592
431
689
845
933
511
317
401
284
602
94
645
462
194
507
237
470
290
184
792
487
305
670
568
109
577
914
492
25
208
675
326
651
48
661
362
510
936
375
224
283
677
67
251
570
858
126
446
316
309
534
166
783
912
704
579
714
500
166
384
27
805
40
487
987
736
219
80
295
826
456
93
952
308
350
60
79
155
317
264
85
350
221
420
700
829
285
273
469
820
257
228
173
741
597
526
563
442
611
545
500
335
41
525
281
869
633
376
481
880
556
269
131
602
400
386
418
467
637
550
389
421
95
453
323
132
962
850
552
357
309
399
489
739
928
799
562
463
533
478
546
532
7
400
528
922
431
449
354
478
115
476
949
241
657
322
357
824
404
44
664
567
290
110
258
484
165
586
22
381
188
159
119
174
760
407
15
99
790
900
265
427
758
544
351
352
198
100
595
879
712
940
717
948
563
939
166
487
239
827
714
809
91
504
161
554
335
534
198
379
213
529
608
723
104
178
33
291
725
457
464
318
321
936
468
306
946
167
919
691
502
865
651
786
188
935
45
461
425
470
1000
231
106
477
146
793
248
484
433
651
708
137
418
105
682
558
683
780
95
570
799
865
866
822
200
411
216
494
101
346
894
536
362
371
197
334
802
509
148
260
1
904
47
861
109
392
884
282
464
481
785
140
148
655
730
235
712
304
292
375
404
182
25
130
193
32
437
487
767
868
190
248
465
493
287
496
801
3
530
601
825
392
434
59
96
888
167
928
416
310
756
719
826
581
18
419
568
484
158
720
858
914
994
639
339
157
87
462
43
177
850
341
517
512
884
924
546
121
359
146
554
462
263
639
324
157
732
279
181
803
469
60
121
918
475
827
688
520
931
392
588
557
85
228
102
252
430
219
403
444
281
937
767
183
119
516
487
139
689
491
45
893
918
880
689
802
152
419
140
922
97
47
559
426
98
707
280
77
94
39
57
533
637
776
737
748
878
531
328
238
316
181
439
758
388
244
892
821
709
483
152
501
873
472
871
201
254
9
462
407
160
67
113
950
41
452
70
993
178
450
330
760
445
513
113
21
255
504
607
484
800
56
515
527
20
414
897
167
537
468
596
760
947
791
372
696
456
191
438
269
834
661
738
969
56
633
735
692
788
154
868
732
116
901
127
987
493
976
389
472
927
87
246
147
838
983
67
12
875
42
963
653
179
462
103
704
280
857
590
193
805
927
723
368
687
507
996
412
401
533
649
361
15
358
908
717
562
422
338
429
257
500
859
405
653
595
79
241
642
119
535
626
575
140
339
731
448
350
510
966
225
892
943
668
884
328
597
655
716
865
967
75
714
393
313
676
646
33
463
407
559
659
194
294
972
295
361
622
44
391
944
778
286
700
171
556
222
916
662
325
551
272
360
222
939
8
631
466
588
17
491
945
86
967
413
472
878
931
512
484
892
837
228
523
458
110
791
504
701
483
867
667
993
282
778
87
899
472
619
833
290
338
382
132
916
976
955
425
835
715
458
824
488
141
954
254
136
691
982
548
597
644
713
841
927
932
815
889
763
380
222
350
532
879
131
635
625
504
454
684
950
799
908
897
971
262
646
491
449
584
66
768
658
341
18
125
721
634
134
147
88
677
417
813
909
397
553
633
167
945
615
559
50
412
974
624
927
164
263
546
729
922
175
31
234
157
736
58
8
400
448
232
258
789
342
199
919
563
578
176
627
213
661
917
79
714
776
775
454
577
973
112
223
483
173
976
642
886
36
836
711
309
748
169
160
997
692
873
302
241
795
805
212
935
38
197
759
888
297
394
469
995
154
94
64
605
821
258
791
347
626
961
324
239
787
689
128
76
350
50
636
33
244
408
501
890
362
682
488
497
495
475
264
940
668
691
483
347
200
32
55
455
329
129
439
835
812
531
121
166
280
499
171
60
461
343
942
707
619
23
497
76
650
891
324
455
364
730
275
900
377
697
392
534
908
384
525
734
545
994
160
909
660
501
927
996
775
796
599
800
616
2
249
982
981
566
379
872
848
251
516
247
324
880
721
890
141
507
955
40
412
738
13
821
274
60
27
361
846
399
147
568
683
562
96
495
495
907
718
805
491
336
528
76
90
682
537
623
144
666
285
45
27
835
128
932
146
358
297
52
464
92
123
831
618
70
182
165
95
480
744
414
692
194
97
940
217
163
791
699
952
308
783
205
925
73
819
656
431
465
98
129
588
236
420
528
896
839
594
410
941
931
789
903
395
494
935
667
407
78
5
263
336
306
207
364
537
506
700
929
551
296
422
855
648
984
35
654
108
902
767
366
48
172
171
282
847
950
399
23
448
876
650
209
887
356
833
225
430
257
368
582
582
820
232
977
79
887
65
456
671
28
138
986
151
801
502
364
613
149
455
623
376
930
762
998
335
620
734
76
782
567
342
975
892
515
53
267
123
761
956
875
773
997
46
385
805
779
251
25
837
640
895
92
898
29
822
724
125
624
307
761
116
101
242
878
31
80
810
306
869
806
1
238
575
115
892
443
746
360
550
708
757
262
802
474
57
120
869
430
245
399
52
908
281
497
228
596
865
393
922
517
547
963
82
197
659
991
533
652
495
267
258
178
467
730
268
896
157
294
879
680
298
883
600
397
685
169
683
352
967
714
643
459
72
532
671
929
731
551
944
215
215
117
264
526
926
466
354
478
925
28
384
370
831
562
994
90
771
355
147
920
252
148
650
354
842
37
80
570
570
313
117
393
816
98
54
423
228
684
313
495
937
670
345
802
905
366
213
798
757
425
500
496
868
351
887
880
775
338
949
914
229
907
212
105
316
898
515
628
108
723
53
786
279
183
272
996
925
815
953
510
610
429
402
838
329
488
652
204
608
998
2
351
483
844
968
778
440
880
998
740
708
626
850
417
475
133
600
261
713
416
655
863
282
899
971
640
907
443
943
268
439
893
40
62
531
536
348
441
486
506
625
204
589
980
318
591
646
924
309
10
832
306
782
870
188
901
724
162
268
274
44
327
523
81
188
459
945
568
448
80
421
21
849
567
994
991
622
810
939
294
793
829
165
149
349
887
940
336
756
111
360
921
368
733
313
914
393
881
874
221
647
232
247
374
267
980
359
826
946
287
188
51
989
793
737
281
702
844
328
494
177
772
550
168
547
974
754
401
172
532
487
236
12
834
600
395
675
956
78
186
207
603
836
59
742
34
789
106
542
712
552
855
796
387
11
846
775
955
831
824
605
677
681
840
951
325
610
223
380
372
516
148
22
625
107
484
431
561
108
741
209
231
699
138
58
784
364
296
397
541
359
603
589
83
26
14
116
989
10
986
758
727
268
241
923
661
419
279
842
321
598
912
207
882
482
605
225
256
558
72
748
338
27
408
327
710
966
14
558
560
486
720
66
644
676
785
824
872
56
922
286
523
107
99
982
113
215
616
812
696
17
903
247
729
695
525
81
655
271
143
126
66
287
554
500
626
589
470
734
938
89
410
973
202
502
930
952
807
48
424
273
970
19
899
739
165
935
470
168
346
737
770
125
930
84
131
503
62
376
189
726
962
539
494
637
37
993
832
785
12
446
230
932
552
340
7
79
695
826
852
205
979
133
599
219
316
72
287
329
481
191
124
153
638
804
170
404
417
711
920
926
911
924
488
173
402
139
726
981
757
997
488
607
218
405
192
578
731
328
978
848
55
482
77
111
657
321
417
916
763
530
145
376
47
23
450
868
94
96
56
103
212
925
770
335
131
126
741
292
872
417
457
608
358
757
51
156
369
489
191
702
89
143
691
722
794
548
975
68
201
798
714
391
629
473
273
893
383
193
83
15
724
252
698
144
367
594
87
271
698
834
656
800
825
390
619
412
85
43
574
932
919
381
585
669
824
687
624
573
684
779
975
871
911
195
77
538
717
906
346
81
299
433
681
633
879
830
762
288
383
529
718
917
950
413
438
479
644
840
618
955
473
534
613
612
289
416
295
227
212
453
439
317
969
580
575
124
961
566
873
358
905
478
383
207
634
35
874
171
4
726
577
653
868
36
405
13
803
501
558
65
570
603
14
535
312
705
76
75
143
323
16
831
94
52
860
401
324
348
543
249
172
204
966
308
854
487
985
533
580
306
1000
631
437
348
586
82
645
543
594
784
684
770
216
390
347
579
798
447
18
48
598
954
307
991
260
845
727
669
492
212
276
64
363
788
634
563
622
307
165
554
697
919
90
99
354
723
983
285
512
828
240
318
403
112
244
706
54
958
785
137
84
832
682
743
924
494
670
520
873
31
355
590
851
643
436
845
309
302
473
281
534
992
170
962
492
219
530
165
433
867
272
678
711
311
564
650
668
861
490
655
957
264
646
817
409
979
933
968
356
408
908
785
410
42
21
796
775
786
710
924
579
308
570
2
135
363
770
288
717
466
484
572
193
166
332
881
850
440
745
170
814
413
723
614
760
667
671
283
1000
929
864
75
641
785
639
701
203
400
569
466
10
907
738
314
683
266
726
327
271
895
54
478
935
306
677
904
569
327
544
422
456
207
393
285
846
65
715
441
362
683
260
650
224
615
546
870
644
929
575
271
123
694
381
64
56
473
69
104
751
690
739
884
934
718
54
96
868
925
246
419
435
729
14
572
954
914
155
942
993
69
718
316
201
41
151
323
992
724
214
196
941
314
406
402
937
434
248
464
433
148
88
59
640
961
972
89
139
330
778
954
180
114
1
722
884
612
511
195
678
571
170
184
550
582
382
409
133
795
554
559
195
773
946
964
857
612
599
283
739
151
847
318
271
227
434
824
624
431
399
746
72
757
707
821
69
887
70
923
65
551
517
800
839
591
69
115
155
880
279
826
663
234
514
943
277
768
605
704
686
990
859
985
293
36
534
595
617
68
562
687
112
851
682
157
455
888
189
322
555
331
162
577
942
67
411
1
743
8
340
104
134
624
609
949
24
198
770
955
746
91
28
554
693
582
884
692
146
450
713
925
57
551
268
446
160
81
651
939
579
100
613
603
76
129
858
17
148
349
669
798
491
987
342
128
727
964
778
351
892
803
171
742
907
48
829
498
128
203
87
740
140
290
711
28
147
635
375
497
654
441
595
194
671
34
958
651
340
388
633
12
671
713
901
271
120
409
895
308
812
671
811
436
562
387
640
129
254
731
807
441
773
48
242
374
444
195
47
138
824
508
360
775
814
934
997
141
245
702
174
569
511
92
915
874
346
475
789
494
559
834
242
725
381
392
111
959
103
798
873
769
845
580
804
510
627
201
499
807
394
129
141
948
280
752
493
724
186
881
844
720
725
813
31
377
641
630
233
438
136
475
422
521
900
55
278
645
250
483
834
509
505
927
375
192
609
172
894
746
59
389
941
832
400
858
853
145
897
370
140
905
519
344
285
62
25
420
348
218
774
476
512
464
865
525
169
485
352
925
231
299
552
711
86
950
959
607
33
328
823
462
93
37
275
442
785
885
756
286
874
162
606
351
66
319
884
947
369
55
899
687
133
105
449
194
810
210
493
514
110
849
817
17
551
326
270
414
358
695
332
732
287
858
80
750
244
856
110
461
479
30
607
553
752
264
560
795
84
932
47
472
652
581
646
688
900
561
269
445
183
50
157
893
135
921
325
36
452
932
501
489
8
543
474
595
13
512
808
291
476
40
110
687
327
920
342
201
420
560
237
445
63
245
506
805
863
250
375
787
449
688
950
755
66
91
67
668
128
738
562
745
568
730
355
797
218
614
348
130
515
150
887
481
551
454
484
490
852
316
537
544
285
998
48
690
217
139
699
475
340
746
214
225
611
387
626
246
390
834
911
926
182
399
486
468
336
111
233
302
702
713
5
811
494
163
112
85
574
978
855
873
937
265
21
767
440
759
181
907
710
503
731
197
738
97
908
95
867
557
392
515
773
946
721
297
541
870
449
996
149
831
868
434
501
214
180
594
634
370
177
950
912
869
856
235
791
490
929
18
236
918
802
163
966
477
493
416
508
384
881
896
454
210
849
253
416
214
168
578
927
194
412
970
913
331
825
794
465
256
786
288
307
251
468
136
763
21
357
33
42
6
515
77
343
522
861
9
622
352
316
957
868
572
314
353
385
511
65
119
874
744
973
40
96
925
761
513
510
86
192
464
544
765
759
307
119
924
344
276
618
191
654
302
736
379
180
904
570
587
537
224
844
449
299
425
402
263
884
161
956
770
585
718
610
375
600
728
876
432
796
79
722
36
982
733
697
447
665
714
345
858
630
421
888
746
183
795
685
428
573
569
38
804
943
999
730
433
118
15
102
275
698
705
569
442
211
383
217
229
520
283
543
580
310
96
430
870
210
139
197
563
58
943
916
846
860
450
223
866
260
776
525
506
691
766
872
984
943
115
722
723
583
897
519
30
509
742
276
152
933
765
360
173
271
545
261
25
729
150
433
638
860
204
212
850
1000
502
423
261
304
488
511
637
20
242
967
840
779
232
342
494
921
237
401
769
304
284
789
733
608
364
170
692
907
986
918
821
116
346
349
166
30
973
916
810
810
284
987
569
180
350
624
105
66
560
225
753
116
558
51
673
333
37
405
157
70
450
687
68
718
731
619
393
793
415
711
881
487
384
405
528
430
571
422
481
130
610
550
556
492
343
462
150
884
541
209
796
464
971
695
990
852
151
795
207
793
757
780
208
128
676
337
855
298
85
815
636
549
825
284
24
252
535
597
614
995
677
949
703
673
626
354
588
358
469
39
446
583
998
19
33
594
687
7
840
250
79
385
583
486
135
159
58
706
542
718
459
25
914
725
257
23
94
658
572
546
478
368
796
157
412
503
908
18
205
819
502
348
264
189
69
129
148
604
501
364
121
565
60
65
893
68
324
94
810
784
717
121
710
160
292
282
13
897
360
542
409
667
412
390
651
983
551
247
583
880
277
895
472
392
73
310
170
881
701
502
372
936
473
364
495
905
91
79
273
114
807
313
233
506
771
309
586
696
432
988
959
461
774
332
580
250
975
664
216
627
821
908
191
448
816
557
271
214
476
860
86
230
732
714
994
172
730
817
21
155
541
935
525
658
489
534
801
528
859
614
662
778
700
300
392
132
358
656
146
71
124
206
982
641
103
860
263
445
973
302
44
54
861
403
446
506
908
890
707
735
480
335
796
503
142
501
974
875
702
224
701
342
619
304
597
477
33
332
982
369
534
971
663
185
517
993
238
887
651
279
177
537
545
64
311
612
183
953
206
487
52
603
57
524
211
527
386
264
711
170
845
818
878
249
826
904
3
396
454
916
852
278
733
44
262
704
303
748
797
724
288
804
62
342
181
754
831
272
589
831
560
112
910
313
223
422
705
860
664
441
614
565
804
621
136
348
129
697
515
829
841
791
245
30
950
877
445
63
354
34
448
475
664
79
480
92
118
532
222
966
428
399
394
550
843
903
226
304
981
133
838
740
260
550
90
344
850
451
438
879
109
751
672
371
433
922
220
425
264
526
829
625
788
533
60
454
484
545
10
570
281
116
55
279
534
595
221
740
422
299
22
787
648
375
152
233
522
402
531
183
595
646
533
199
32
902
150
109
814
993
6
893
670
377
837
342
378
731
76
130
703
67
645
527
750
714
930
223
1
437
168
653
597
81
178
738
726
410
411
230
125
185
831
645
753
142
997
375
695
250
36
695
218
493
900
254
691
511
409
118
775
587
121
607
887
857
973
952
443
112
983
289
802
252
43
606
149
242
977
57
773
451
580
478
337
334
332
41
753
776
825
714
250
796
727
620
39
985
266
430
748
762
832
647
463
481
235
5
782
479
605
249
739
406
687
238
877
542
501
635
986
373
961
491
254
378
48
636
656
856
579
123
428
614
438
937
348
518
369
802
426
239
83
184
254
987
487
542
963
689
289
458
226
848
110
526
204
258
493
788
697
888
880
57
970
478
727
688
951
833
375
228
499
360
242
909
467
130
170
123
131
647
460
868
349
518
294
648
531
464
686
459
51
419
116
315
299
18
254
209
911
421
982
567
106
241
34
977
216
362
134
469
687
510
473
659
794
797
727
856
338
859
594
609
365
853
989
257
754
307
642
721
153
762
820
195
334
211
280
392
475
565
391
679
311
778
534
820
315
784
535
975
330
139
894
334
116
59
983
993
321
625
263
728
270
33
751
866
795
140
669
797
55
3
220
557
917
776
914
533
4
97
718
571
978
65
596
686
938
10
648
109
117
512
175
658
163
561
467
247
422
304
3
923
557
585
70
963
756
336
503
436
545
949
367
108
935
958
918
743
197
685
119
639
116
74
303
734
929
532
325
703
509
501
694
273
567
394
712
411
772
722
623
124
732
491
131
364
710
433
406
923
814
211
906
288
137
527
878
110
1000
953
443
337
10
413
514
71
113
451
645
916
215
806
85
903
231
385
929
87
588
392
304
553
345
259
910
907
69
6
120
247
528
853
38
273
79
222
588
452
357
738
748
96
487
497
498
797
588
644
923
909
790
263
181
687
301
690
712
218
358
612
169
545
22
749
15
192
864
473
643
904
555
469
182
519
258
415
833
800
501
713
726
509
903
487
798
170
727
449
94
784
736
717
276
220
242
347
813
121
554
188
507
962
246
608
547
300
816
820
227
386
323
801
872
21
543
259
233
961
25
715
821
235
200
512
231
438
329
504
491
466
671
231
853
148
713
643
279
952
678
787
46
257
831
464
532
693
272
516
254
695
30
288
668
741
249
812
55
694
197
434
72
299
614
925
196
164
676
604
312
483
444
633
197
355
235
440
478
806
773
179
938
503
334
246
700
736
360
109
925
437
169
169
132
896
452
909
143
338
244
335
972
746
902
597
678
111
444
729
300
827
264
639
544
79
864
829
796
891
724
867
369
957
867
263
642
520
970
261
887
311
116
13
139
38
388
761
400
953
576
931
871
824
171
498
638
998
705
594
434
339
223
82
693
511
346
754
56
459
962
855
958
981
32
919
644
945
391
232
237
62
721
822
65
128
41
557
459
282
176
802
713
147
664
79
667
701
485
367
657
313
774
979
214
699
470
460
923
445
407
567
341
371
956
193
719
242
718
58
549
218
152
71
635
40
263
564
462
109
623
978
143
529
100
200
95
707
600
438
926
255
51
447
698
829
606
930
852
1
756
170
617
427
647
268
631
376
370
926
834
172
449
317
469
186
24
474
113
832
481
570
263
429
407
608
940
896
754
348
130
988
93
729
669
178
629
654
342
368
456
792
556
318
135
930
941
33
314
516
605
427
515
259
610
206
639
15
403
307
10
774
582
191
964
230
372
958
105
280
645
558
341
823
106
336
728
382
552
774
968
410
729
568
141
617
366
113
846
291
440
70
519
379
564
914
78
63
683
289
439
634
934
540
680
771
599
17
786
721
576
606
7
474
706
490
791
732
550
307
167
390
975
724
223
262
978
940
28
3
716
794
931
535
644
937
687
777
971
26
266
182
409
1
517
375
325
284
90
189
960
179
141
530
317
843
378
783
734
943
966
951
868
518
639
277
34
619
125
925
418
35
662
145
655
747
945
494
684
838
302
843
571
201
310
361
217
794
313
147
470
147
521
920
187
489
459
30
211
183
530
43
76
103
392
346
476
232
642
538
189
29
32
836
193
21
76
402
179
734
444
233
515
235
967
278
1000
543
446
479
412
671
697
755
956
304
436
332
172
979
659
407
800
164
179
872
372
820
810
707
21
876
537
682
106
517
640
234
777
384
390
723
531
546
412
783
133
612
224
169
32
434
789
305
533
676
132
732
544
901
206
803
680
983
221
228
851
335
611
580
262
908
644
420
897
918
428
497
175
22
772
403
417
1
858
108
199
64
224
50
438
546
887
855
276
130
747
279
451
726
604
679
836
765
194
182
301
12
703
718
829
937
74
266
104
328
278
976
408
86
429
328
728
107
264
104
420
707
8
754
658
334
160
703
148
181
989
223
278
897
877
773
959
799
734
131
878
845
829
216
812
201
315
213
939
362
639
535
773
674
795
162
499
570
65
125
979
20
516
250
631
458
5
790
726
960
858
228
370
547
714
399
605
260
239
10
600
108
567
809
855
62
312
937
733
24
9
454
370
109
619
612
213
617
539
254
26
823
190
593
151
33
845
724
268
452
807
460
644
13
454
437
108
736
938
24
577
126
513
231
991
796
584
694
954
811
559
811
172
212
500
282
70
792
392
631
565
494
562
754
65
711
423
208
202
392
244
703
660
55
94
261
764
775
455
562
136
712
253
312
831
11
220
827
847
737
574
663
793
72
944
809
820
157
412
867
595
816
248
684
251
904
685
107
736
150
616
862
928
203
650
125
206
35
336
944
910
991
703
587
279
537
486
784
982
218
537
37
344
389
935
430
715
89
301
827
199
754
610
962
160
599
603
677
473
167
521
491
492
926
481
752
124
846
265
853
143
526
693
403
165
840
15
745
234
9
964
965
62
714
222
346
350
126
17
262
463
734
526
677
967
448
539
705
202
750
600
226
70
578
416
131
740
250
937
606
772
959
867
789
477
270
796
265
987
636
332
92
599
137
814
516
442
532
238
56
407
245
5
416
603
80
985
552
278
312
153
246
290
290
794
781
706
842
816
628
54
590
255
596
81
735
453
543
598
9
703
593
153
257
390
765
815
550
778
83
326
831
629
486
213
823
790
373
246
350
728
150
810
275
741
974
317
968
249
764
782
601
127
644
113
586
508
210
409
163
885
406
826
479
610
321
142
503
80
943
200
774
17
745
820
279
223
998
610
742
137
867
345
209
310
692
225
103
656
304
377
854
956
897
427
804
628
749
828
321
236
48
901
982
532
175
226
219
98
64
92
59
815
682
235
449
451
243
934
185
628
490
898
661
312
298
41
479
770
856
378
464
598
916
782
787
59
941
282
707
451
494
912
893
635
887
839
435
197
932
690
412
910
616
494
329
302
647
657
814
188
150
727
733
941
186
496
272
151
434
133
581
45
87
663
323
740
963
70
820
934
896
697
512
137
711
436
156
908
456
398
502
862
142
354
204
398
893
295
354
196
325
835
373
545
923
74
914
450
410
711
78
330
383
906
544
787
2
392
90
601
134
831
634
613
181
244
133
622
714
644
600
750
213
644
38
4
409
940
341
902
197
5
43
131
618
266
352
134
185
333
83
448
666
527
945
365
535
107
127
212
452
98
298
107
523
536
920
593
589
310
277
937
474
494
693
205
917
220
247
448
947
687
683
468
539
868
324
660
726
843
546
379
776
425
772
125
646
991
986
582
690
918
516
236
530
114
187
835
51
451
957
446
736
740
888
241
919
113
567
415
110
255
169
863
213
974
951
303
341
16
289
573
924
869
358
710
998
532
151
261
861
880
816
990
780
292
241
761
80
699
382
944
715
22
104
105
384
298
184
106
373
428
699
980
542
575
233
136
319
737
215
480
121
911
206
39
358
560
182
544
76
807
646
210
319
906
949
665
495
29
309
536
416
382
874
759
135
939
589
46
443
884
798
282
653
934
250
849
322
328
642
984
672
170
907
348
784
224
202
890
77
998
971
964
194
144
484
394
186
788
14
863
792
381
145
550
693
65
756
421
867
355
897
960
518
131
139
418
642
563
927
835
971
606
187
200
876
126
683
124
870
558
619
292
464
232
612
803
502
145
406
206
551
24
664
693
577
953
748
426
927
742
657
428
574
449
167
821
726
161
836
428
107
231
671
955
696
628
203
986
231
992
203
50
564
249
447
851
804
381
830
581
253
33
562
895
323
187
378
742
992
32
490
752
866
515
467
276
569
786
357
519
39
890
157
397
252
626
140
905
67
448
668
811
155
622
858
423
436
668
862
49
59
248
598
494
712
285
468
625
964
43
981
588
451
342
236
739
885
837
875
740
330
538
495
523
666
330
467
82
901
299
806
66
839
77
994
237
611
259
677
703
775
193
739
689
977
67
549
316
677
304
119
503
75
692
493
620
153
572
930
994
717
670
355
684
416
821
113
224
982
943
272
178
363
79
589
425
976
243
794
66
60
91
20
718
981
172
52
757
398
582
566
751
380
423
684
938
946
344
971
97
997
805
481
573
265
437
566
544
767
6
952
823
200
58
15
639
853
265
273
862
933
869
885
85
623
377
312
828
801
852
382
871
134
718
714
406
152
983
819
240
997
201
224
773
770
264
666
854
792
348
721
889
623
939
248
785
410
898
671
396
961
923
436
174
978
640
946
578
40
754
899
691
252
372
226
147
971
622
770
145
628
193
435
842
495
261
780
867
167
522
923
54
664
779
220
719
274
548
341
5
741
702
294
857
925
15
432
179
802
799
699
594
597
532
178
26
826
478
527
995
280
828
27
154
299
821
794
43
226
628
138
512
580
531
213
521
325
70
866
298
578
372
6
938
262
860
945
568
476
879
872
147
826
558
58
816
551
404
414
486
52
702
774
971
346
791
627
585
48
674
44
584
705
232
267
175
694
500
713
179
466
109
193
534
570
989
771
6
801
866
2
421
784
919
273
681
501
215
550
615
586
154
167
466
696
234
184
424
900
909
455
161
815
139
777
772
197
559
421
854
766
806
876
735
322
686
866
14
642
316
578
629
191
272
561
673
447
103
932
26
496
240
384
676
623
481
975
298
807
734
832
236
395
613
719
565
730
854
878
299
205
220
676
149
994
730
375
434
750
587
758
905
635
150
468
254
402
652
622
39
652
133
710
597
19
244
803
275
795
151
854
961
424
764
211
490
366
908
516
928
71
858
830
175
186
861
176
561
662
890
691
333
124
898
214
25
743
252
465
688
824
869
942
907
541
831
240
304
530
867
847
982
565
170
333
990
158
468
490
404
739
123
208
96
997
321
770
575
92
65
829
570
698
797
519
164
262
947
46
375
432
595
627
26
351
758
823
658
379
500
155
3
885
183
409
243
914
709
143
851
906
513
780
358
171
405
76
769
463
114
925
666
849
500
205
290
28
992
819
992
419
727
187
497
594
268
156
354
126
511
751
821
487
609
186
145
426
281
342
903
154
908
220
605
754
164
958
253
449
782
658
922
772
225
625
706
190
665
598
595
485
689
231
902
994
573
375
909
873
813
669
282
681
817
610
637
934
334
491
348
740
230
590
344
278
678
540
151
657
710
75
887
678
338
263
278
88
116
855
994
203
124
658
795
187
830
641
15
851
174
71
906
571
536
126
234
804
944
285
309
724
8
290
325
720
563
628
479
827
962
292
843
689
257
43
386
319
281
520
842
757
757
326
362
676
146
638
998
167
862
3
129
197
893
709
845
693
594
534
206
814
632
728
980
737
612
815
199
189
938
144
367
60
816
185
700
623
160
210
85
312
311
383
794
542
151
232
145
732
165
177
403
589
468
59
240
688
626
608
961
576
344
389
530
936
740
67
158
836
983
732
836
741
521
661
737
719
981
98
854
268
131
564
588
276
914
758
251
872
711
326
623
390
408
648
753
191
819
330
175
865
231
251
597
186
631
877
897
262
214
47
949
517
343
576
421
481
45
847
164
907
435
22
245
375
247
612
986
383
744
959
591
907
880
570
72
538
501
381
237
618
773
733
427
216
770
285
536
434
340
122
636
252
964
30
132
72
274
312
1
179
355
508
101
573
672
97
930
25
768
585
507
722
397
383
219
615
868
527
612
385
719
625
64
8
735
344
228
24
542
401
934
971
632
294
950
915
770
940
663
635
158
972
251
838
601
710
366
716
207
712
699
252
811
371
60
970
404
247
749
232
332
691
82
744
949
841
886
690
658
262
688
795
47
347
78
636
892
75
432
763
337
898
794
513
493
317
188
931
17
192
70
869
997
942
943
183
567
568
361
885
294
872
711
300
267
342
166
528
240
893
174
978
917
104
665
355
659
590
943
229
457
932
867
233
48
894
516
45
383
735
981
484
519
82
324
484
167
175
32
249
786
301
464
553
82
877
929
68
254
958
983
553
119
899
498
956
501
555
837
770
925
635
202
492
702
798
871
654
925
650
540
693
815
62
455
889
65
116
373
687
553
554
611
994
851
834
650
462
462
738
779
341
602
35
286
203
650
873
548
759
103
416
166
994
967
734
1000
86
72
129
531
895
682
850
506
344
133
668
217
678
972
844
94
407
197
867
498
723
760
705
760
323
460
468
511
859
706
75
324
680
404
959
513
163
405
882
703
653
517
650
445
988
97
903
708
640
620
174
557
736
419
84
731
620
11
904
61
150
33
705
938
633
827
949
72
146
149
721
826
24
308
729
316
442
265
857
261
353
897
303
336
530
659
293
356
99
335
931
202
722
454
20
812
573
192
556
937
329
280
197
571
671
501
182
184
216
863
94
908
361
427
341
813
263
65
455
313
61
138
118
482
497
195
351
794
284
314
423
385
925
634
875
434
216
963
496
670
317
73
240
354
100
469
815
269
486
919
131
414
588
57
900
125
807
668
375
274
443
88
695
65
16
295
277
694
245
868
495
792
544
966
191
158
988
896
627
740
914
613
173
212
720
726
336
791
970
186
779
110
611
863
583
76
953
623
355
645
105
384
723
355
693
839
398
268
38
190
255
718
443
295
815
862
877
79
112
592
127
931
164
792
472
65
187
289
999
531
216
78
961
606
71
590
18
811
408
819
725
688
187
99
426
776
29
223
541
918
794
350
320
166
217
862
322
67
559
925
223
17
96
10
94
740
659
43
937
658
645
178
101
81
619
384
188
684
120
216
180
712
339
115
832
706
110
584
806
314
24
379
649
938
580
666
453
537
966
709
991
910
450
236
156
159
394
131
799
863
574
430
426
665
842
926
764
628
172
861
913
691
743
295
650
40
81
715
460
981
207
420
52
186
365
952
434
810
198
652
97
31
159
980
502
24
547
820
872
242
794
408
211
150
533
891
594
239
559
744
56
220
966
486
779
788
669
148
898
265
997
966
952
681
272
611
895
635
98
99
648
304
589
166
334
577
937
537
737
144
498
995
9
750
76
581
329
543
165
553
42
597
734
996
793
236
540
57
290
754
47
844
653
481
809
973
728
918
534
574
372
839
127
345
461
855
745
879
312
891
216
95
258
469
273
25
376
449
663
645
739
111
606
671
99
72
2
483
634
550
515
398
222
913
897
535
734
285
940
445
4
225
32
446
448
127
583
388
804
60
521
152
93
213
653
750
686
966
921
337
331
901
493
775
87
731
199
656
377
196
17
869
799
487
205
818
889
649
189
430
798
697
513
913
677
908
990
65
682
863
692
578
625
326
577
424
739
973
344
877
472
329
596
157
919
3
493
5
350
446
861
701
216
30
166
178
217
192
842
927
254
741
220
322
585
225
683
842
69
401
782
427
181
450
697
866
375
578
862
675
449
1
556
409
828
175
973
714
15
270
616
738
56
566
848
678
535
417
106
372
477
896
579
827
555
33
117
494
171
835
766
918
276
876
610
118
331
346
502
666
378
867
905
1
59
264
276
915
296
764
336
537
525
732
138
373
579
191
57
117
764
804
687
38
252
948
183
700
623
760
735
662
297
783
742
586
633
934
716
881
667
38
124
609
828
107
174
863
476
865
7
275
773
769
919
595
244
917
948
536
322
789
675
168
365
708
106
238
882
312
303
675
173
49
802
438
201
918
936
584
258
257
876
111
934
350
605
704
929
45
36
962
538
362
188
97
966
277
676
345
229
491
759
560
50
11
848
524
52
791
683
538
533
514
365
761
310
851
24
573
412
156
227
974
891
623
106
663
690
382
837
949
242
883
304
140
485
172
704
345
32
361
408
929
547
664
604
988
750
849
127
301
83
884
393
176
785
829
573
489
19
733
933
6
726
438
814
770
102
675
845
930
926
797
807
888
495
798
30
69
594
31
318
921
739
169
190
980
925
507
647
964
247
663
776
901
47
107
236
233
709
693
94
687
803
584
508
462
68
509
515
938
634
292
501
694
943
4
1
56
90
854
144
848
661
192
394
213
723
560
247
654
280
789
191
475
406
547
542
838
256
570
748
570
320
69
354
650
641
431
127
34
151
395
740
127
967
334
42
721
253
150
164
670
197
547
610
930
804
133
67
830
397
875
863
619
219
934
875
389
24
792
231
452
345
882
317
124
966
657
455
674
198
130
109
850
741
439
626
43
281
938
341
607
486
621
320
303
723
439
160
116
644
221
30
956
792
449
567
853
479
95
352
300
520
120
415
363
826
949
633
981
485
486
948
678
718
741
36
550
6
199
447
943
779
395
236
755
268
14
833
622
527
4
191
568
158
819
292
897
994
946
710
165
826
255
267
119
296
592
764
375
234
239
395
427
44
528
751
315
225
938
214
895
757
472
175
202
868
975
735
827
653
302
441
594
115
958
203
57
479
885
719
527
21
584
625
368
259
622
106
311
59
918
909
397
117
882
507
946
300
599
687
639
562
770
979
421
465
70
152
402
886
876
467
371
138
97
504
850
561
958
157
829
636
150
821
468
785
718
892
70
335
428
448
589
576
100
366
778
435
607
231
827
48
792
44
27
469
572
181
537
768
851
24
816
56
727
399
672
344
626
297
142
665
649
338
634
632
417
101
850
422
153
749
1000
207
525
344
759
225
74
876
216
995
639
287
778
678
296
742
651
210
724
949
31
629
854
608
592
989
839
954
203
314
141
931
65
371
559
747
611
394
530
410
591
518
937
424
732
389
955
945
235
307
160
598
178
295
264
600
562
715
348
35
355
379
378
893
375
614
159
995
296
454
571
999
328
885
129
507
405
125
415
700
794
996
923
15
103
790
193
160
599
433
917
113
605
411
825
863
473
628
802
327
333
330
621
283
346
286
118
144
687
640
397
139
850
252
901
750
170
888
761
296
626
302
878
182
106
130
626
655
320
523
866
857
435
602
240
617
366
162
320
670
327
528
285
941
927
86
195
137
601
840
862
92
606
261
547
279
193
824
385
397
781
885
562
202
147
963
710
605
698
72
917
587
885
494
35
674
663
228
671
548
735
457
381
869
961
517
92
548
953
244
695
498
355
70
117
364
731
925
883
886
293
807
347
265
935
873
323
397
163
50
776
897
544
444
657
593
241
286
659
564
55
751
916
876
156
759
211
861
310
782
265
172
29
754
56
873
510
402
949
505
607
744
596
399
395
984
201
542
41
780
743
894
825
712
203
432
144
761
663
103
247
813
363
530
261
508
492
581
806
238
493
832
106
750
164
570
61
566
661
211
174
445
807
918
566
144
786
771
607
64
360
25
791
741
271
925
614
740
354
997
132
233
217
999
808
427
21
484
986
75
37
475
84
454
161
896
141
610
497
176
893
135
449
968
960
444
512
997
22
312
90
860
108
447
217
9
256
989
23
276
796
121
148
4
523
446
77
283
791
365
548
833
390
475
763
803
679
909
129
108
27
634
640
985
117
929
828
100
992
674
407
903
62
622
349
919
460
512
163
299
214
753
558
306
760
417
515
318
168
443
29
617
324
287
438
452
5
727
276
839
416
173
91
141
315
637
493
704
259
435
989
747
892
847
837
255
418
181
224
844
582
130
569
425
550
882
655
50
29
165
583
476
891
310
243
844
304
451
151
371
94
182
953
76
661
351
907
417
263
173
905
134
896
538
397
755
329
176
699
971
61
363
717
538
100
964
85
449
513
906
74
866
615
642
408
704
539
741
286
823
662
541
502
497
42
679
548
193
572
435
960
750
36
4
2
682
652
247
954
730
923
985
914
734
875
613
32
581
802
665
512
278
681
970
573
173
301
215
780
971
11
51
808
456
653
359
762
788
937
935
610
801
21
644
184
28
489
45
450
9
309
583
425
78
563
741
222
967
936
918
165
503
3
402
841
141
322
552
233
313
236
137
799
377
67
897
476
471
61
525
105
709
74
665
694
988
464
28
288
126
82
375
934
173
566
972
380
523
369
87
710
886
76
230
60
272
607
146
929
867
850
21
382
135
97
940
592
465
432
452
776
470
882
950
563
370
677
709
218
936
485
614
956
161
834
29
785
156
232
768
943
762
688
867
982
47
432
685
31
131
640
881
541
773
880
990
115
775
816
643
615
519
422
951
849
909
596
218
531
562
591
942
143
354
149
6
538
325
520
76
835
497
864
483
229
390
649
280
833
896
758
750
548
660
950
353
290
373
263
26
573
140
659
740
599
658
971
475
492
37
758
79
269
935
218
27
452
141
690
759
978
854
618
66
204
686
51
36
355
862
909
151
721
160
244
453
288
912
720
149
216
755
327
599
821
904
135
437
231
435
560
468
924
421
145
50
732
808
374
944
698
602
382
940
377
268
750
178
812
242
714
727
383
126
266
876
225
425
597
591
674
658
266
765
493
304
268
200
237
310
929
770
204
837
168
815
843
493
195
648
362
570
189
970
590
684
798
125
743
797
617
373
917
794
899
783
549
682
884
917
25
997
47
229
895
171
491
950
880
499
468
319
938
779
717
196
231
925
907
440
693
581
970
977
303
311
524
132
841
994
908
617
105
881
569
576
79
174
674
195
522
89
843
700
809
121
879
14
615
616
160
930
225
817
178
455
818
290
317
864
90
970
565
99
935
128
306
378
755
223
741
257
131
964
744
936
232
879
179
313
345
367
781
123
352
497
734
524
779
802
953
678
330
923
932
156
414
247
731
533
269
609
279
123
710
726
756
642
417
279
217
507
933
449
983
606
227
294
592
613
764
541
241
375
502
282
737
441
135
536
936
541
213
878
538
740
459
130
886
986
746
648
105
18
676
860
535
923
670
530
891
166
798
703
16
574
293
378
394
580
882
773
827
25
582
436
795
939
589
594
81
23
234
831
140
18
777
640
594
720
951
405
943
196
790
114
275
660
226
482
309
539
371
154
577
504
176
393
953
613
375
949
984
274
246
846
717
418
718
444
775
140
814
464
458
84
214
613
563
1000
1000
88
412
235
252
494
327
407
251
664
401
145
475
449
951
565
466
799
503
107
881
355
480
468
754
328
32
632
46
681
612
398
87
454
959
401
359
661
133
349
426
315
122
82
479
20
313
105
109
44
853
442
421
950
471
29
550
662
873
365
947
317
229
802
562
383
572
702
197
275
169
650
835
167
45
64
727
769
888
820
388
593
481
986
386
625
695
332
43
400
785
82
699
175
435
264
206
262
538
98
701
644
175
106
528
638
658
999
365
739
744
939
232
779
377
499
91
152
361
463
158
222
399
658
889
936
849
145
837
347
343
457
223
963
160
8
130
846
856
492
655
912
212
824
249
166
979
176
741
507
264
736
190
271
655
95
843
947
328
579
905
301
478
422
787
751
349
414
738
958
56
520
532
463
149
53
943
712
587
135
300
927
361
583
329
135
532
827
811
90
855
173
335
977
473
525
579
547
385
668
76
785
545
359
419
269
448
754
178
175
38
160
616
236
595
703
437
63
32
267
402
922
678
971
613
457
198
546
700
850
781
172
903
634
96
761
284
660
805
189
899
781
618
686
791
408
969
457
78
442
409
612
267
49
693
661
129
337
401
136
160
313
614
406
659
403
815
381
945
424
729
586
91
131
238
42
804
384
877
511
798
522
650
895
37
757
85
31
770
263
509
673
126
183
484
198
374
936
254
454
639
66
803
220
1000
362
848
937
385
142
672
735
648
387
209
283
503
892
217
678
756
716
663
384
418
997
706
246
818
615
765
719
823
308
203
748
595
561
109
202
131
14
494
347
968
180
988
635
54
992
765
966
736
53
21
700
257
523
766
887
908
211
106
602
238
845
453
795
289
421
308
776
885
249
349
308
414
577
566
296
361
663
107
235
126
786
296
879
262
949
17
116
357
985
297
635
218
354
443
781
899
160
533
951
356
837
427
967
232
508
682
157
309
213
960
258
699
123
552
866
698
330
633
862
578
32
731
139
248
742
689
8
864
673
86
854
987
572
684
960
793
134
968
950
187
527
267
948
427
752
246
408
970
279
805
503
842
884
523
146
774
658
847
990
713
950
154
191
84
370
661
351
365
70
928
802
115
203
338
319
574
880
527
418
374
909
196
637
675
355
123
581
266
240
477
41
778
734
730
236
181
838
565
30
148
856
170
41
736
927
234
691
33
514
774
588
92
24
638
108
516
645
170
683
522
129
51
104
162
435
780
68
668
90
591
357
545
684
889
239
146
103
407
149
919
4
393
258
437
563
81
268
617
681
595
687
231
716
222
832
952
285
661
62
659
813
497
60
696
369
596
522
80
736
586
252
409
823
861
523
356
294
797
506
199
721
986
747
784
652
330
929
688
757
793
628
117
589
430
379
253
576
102
117
346
561
916
990
833
605
20
604
170
753
829
11
854
203
184
114
328
599
172
723
75
220
574
200
223
458
1
460
411
288
746
157
511
421
346
991
16
432
617
459
576
438
688
798
198
840
149
562
81
238
7
9
955
854
554
476
2
736
612
5
184
535
882
729
833
897
264
983
866
372
106
647
894
251
307
978
775
972
58
69
891
522
825
121
515
808
847
905
190
85
28
160
935
366
604
178
450
192
387
496
220
260
684
444
559
191
241
273
211
161
669
737
41
183
857
277
759
614
808
430
361
826
203
669
152
71
733
659
809
254
902
825
926
738
590
205
875
297
114
794
616
45
923
973
314
484
337
151
222
845
945
473
297
513
358
264
479
658
42
939
353
162
844
236
196
540
644
980
8
838
322
56
236
431
800
915
300
226
517
715
933
32
92
178
609
743
302
312
993
572
747
447
459
753
745
425
183
30
49
379
231
758
983
253
360
647
428
109
954
2
926
315
636
815
827
898
610
227
11
711
733
673
228
576
617
503
512
223
835
984
426
683
429
365
136
773
472
140
438
436
411
702
887
9
250
367
141
934
438
109
450
35
477
457
18
238
867
655
574
559
977
629
114
212
836
279
193
974
652
325
572
286
40
269
278
146
592
42
355
528
427
531
652
929
772
531
30
661
485
601
260
663
653
930
710
936
41
618
636
200
233
680
536
989
755
701
543
204
335
297
293
96
729
449
38
755
210
336
42
444
914
511
445
528
721
125
868
341
228
446
971
56
699
102
111
489
575
310
956
867
230
848
696
723
187
705
997
490
959
121
425
858
953
213
433
615
691
508
336
546
678
459
926
924
845
499
504
272
437
222
136
363
567
79
896
898
457
339
709
866
540
164
127
397
188
323
94
813
814
471
256
660
513
935
901
737
176
640
962
539
248
137
804
44
894
708
731
507
376
161
219
769
856
252
904
580
678
624
257
646
426
786
706
402
696
920
670
998
562
256
620
642
202
330
803
220
984
697
716
71
593
566
767
886
468
397
799
4
889
697
342
733
539
143
492
967
275
674
328
49
138
387
613
748
336
908
353
243
47
410
460
231
431
602
356
598
126
815
878
645
881
800
250
490
678
934
196
132
882
362
496
595
464
981
430
778
337
313
571
839
196
28
339
495
16
286
583
125
548
149
206
408
738
1000
502
98
976
294
465
628
480
997
766
473
920
741
524
574
609
80
229
690
169
207
410
222
647
174
713
923
443
940
84
932
256
550
625
700
512
379
558
752
358
630
404
669
368
228
162
333
575
838
767
270
285
992
582
861
418
177
2
331
797
350
525
640
878
519
789
868
904
911
141
230
380
799
302
595
47
203
538
280
242
568
558
922
669
975
37
444
87
627
273
462
395
143
992
40
876
676
696
307
148
958
327
333
485
211
173
605
733
233
126
594
7
106
419
201
712
710
895
320
206
596
745
352
602
900
371
277
787
613
719
810
709
972
975
239
425
695
5
767
138
533
286
588
717
900
373
446
789
369
138
152
483
465
102
356
392
495
211
938
97
133
286
474
865
76
229
650
774
386
763
882
565
69
123
133
982
11
664
622
225
659
772
146
413
737
822
791
623
823
199
98
177
873
522
151
291
599
316
653
164
173
332
757
813
906
590
336
730
372
19
395
511
980
253
550
144
108
753
833
571
768
896
628
465
187
132
158
908
863
586
838
790
390
726
724
326
805
850
467
19
292
157
474
767
833
152
386
602
784
934
662
701
429
714
741
906
275
544
236
968
218
809
660
153
755
532
409
602
71
875
136
97
208
559
185
462
489
74
446
863
47
674
858
704
596
152
797
627
564
291
758
396
330
720
54
57
568
612
757
839
657
309
715
709
693
475
309
377
892
829
523
775
73
878
45
766
468
275
356
881
338
655
185
383
715
808
298
861
148
53
298
845
505
570
25
661
711
185
167
822
827
849
908
826
998
616
790
103
631
444
475
228
615
549
777
225
525
364
127
968
530
370
669
191
150
210
251
623
119
521
946
100
325
858
125
273
240
956
744
738
282
301
266
967
281
657
548
414
588
774
103
579
403
950
386
607
568
518
128
197
425
618
290
227
328
789
922
510
60
35
42
528
699
998
692
826
466
822
476
977
689
64
219
685
307
760
862
644
271
379
362
219
790
935
126
894
600
958
508
690
384
382
943
441
968
679
621
891
177
685
962
72
109
691
773
321
70
289
680
574
662
379
309
322
285
515
753
682
886
475
46
598
870
501
733
89
954
212
130
794
176
568
533
824
411
590
476
53
508
757
111
541
626
162
904
745
398
498
169
532
326
922
387
774
222
686
863
502
528
169
53
147
112
618
806
417
476
464
820
735
358
556
886
968
386
38
832
395
781
882
661
458
113
264
67
882
762
105
348
158
38
60
786
226
897
190
693
436
788
335
691
499
478
957
218
208
596
836
959
151
264
537
631
513
406
22
537
335
243
119
415
261
32
812
335
906
339
485
860
456
971
329
230
7
285
59
68
448
693
14
11
428
106
470
683
6
492
693
659
166
920
863
391
270
235
500
621
845
21
441
433
886
577
728
953
943
450
985
670
864
493
11
492
988
497
333
957
966
195
416
443
151
865
65
859
676
768
332
33
920
434
868
959
56
118
259
113
767
839
338
299
20
44
859
871
993
317
190
708
859
537
890
37
179
535
124
43
33
627
877
224
910
349
835
611
559
355
638
311
704
705
898
294
527
718
36
3
321
141
527
143
555
653
550
964
875
592
439
461
232
401
547
167
429
455
311
648
843
834
369
365
997
133
571
324
940
566
573
805
122
492
515
500
541
946
976
614
473
965
976
817
33
251
332
459
117
235
48
124
53
672
780
422
402
727
594
915
917
914
410
188
630
344
525
386
388
505
570
981
939
171
101
147
842
130
775
867
66
97
725
842
117
592
324
322
935
560
978
212
620
211
3
227
221
883
887
355
470
759
472
656
338
884
650
215
739
256
208
132
512
751
329
567
90
209
119
214
869
360
217
10
367
127
181
593
722
504
906
745
923
395
726
62
463
747
258
160
757
841
234
23
764
844
796
480
748
570
744
417
983
953
229
14
538
905
253
227
971
73
122
758
867
514
706
943
702
445
931
387
410
58
456
636
393
838
900
888
422
935
281
538
55
960
564
366
727
956
360
270
629
429
826
795
870
45
778
109
161
18
871
717
473
269
457
949
664
135
389
180
93
815
612
835
613
735
850
416
142
711
89
235
236
137
820
38
662
403
222
419
38
433
557
782
5
496
39
618
219
464
371
40
733
259
957
829
930
558
492
736
267
716
322
436
523
495
429
283
103
406
401
23
244
395
62
665
634
148
693
35
17
508
956
899
894
392
676
170
272
81
628
400
756
984
348
666
970
789
767
25
397
429
180
852
274
422
634
806
81
990
342
626
513
783
138
645
550
194
306
754
394
13
322
494
591
589
214
124
617
798
247
786
562
820
594
354
331
155
519
136
941
371
313
404
96
767
940
584
188
546
860
82
289
71
19
897
485
522
338
588
122
548
344
706
139
560
768
488
695
931
36
482
708
694
576
771
770
285
794
644
147
506
368
878
183
166
245
293
535
783
360
845
72
316
609
366
164
173
84
959
350
597
903
205
56
144
220
569
95
132
184
834
212
854
669
952
783
849
554
446
125
732
251
369
542
888
931
881
379
888
604
710
852
580
813
101
368
658
185
382
365
959
533
954
452
872
463
314
774
1
732
720
79
687
669
241
904
59
49
225
702
51
734
660
451
202
255
544
512
147
249
89
45
398
337
552
311
384
594
538
567
776
244
847
66
775
566
337
889
395
316
820
941
785
146
694
466
248
596
882
868
977
252
662
455
445
557
130
951
39
604
380
292
796
937
952
250
27
42
742
891
230
710
364
758
899
946
899
904
784
401
82
613
684
582
223
708
89
256
604
841
850
518
634
53
588
988
818
198
731
455
437
535
927
99
918
890
56
94
60
336
225
8
626
241
953
905
343
890
191
484
12
599
979
897
256
416
283
105
413
29
25
774
220
477
379
751
237
607
175
72
394
13
651
358
657
347
841
146
591
496
615
418
472
80
770
124
722
162
553
977
654
821
752
190
886
473
766
99
354
436
100
803
538
244
375
64
374
654
248
722
343
116
610
751
389
721
41
953
643
284
805
975
432
260
552
966
651
681
559
753
411
122
506
818
793
17
760
742
676
289
645
23
826
367
432
324
914
129
618
300
631
229
624
101
880
548
217
550
830
224
776
762
743
843
63
680
612
865
286
582
60
315
43
142
425
81
235
22
651
922
116
290
414
402
467
190
895
551
285
926
765
999
484
127
214
680
845
648
337
998
869
173
766
505
220
857
231
737
192
904
617
822
984
546
195
907
602
359
908
210
891
225
999
739
558
563
796
330
994
598
189
667
428
584
173
377
192
865
848
145
879
596
448
992
785
740
273
549
300
704
905
186
865
578
706
317
683
515
403
72
628
193
509
789
700
681
439
464
939
259
438
384
904
924
857
631
732
380
904
76
282
258
696
768
79
225
365
311
610
416
974
984
4
300
245
820
311
710
406
849
377
262
28
983
786
808
343
811
478
859
413
681
408
183
437
25
50
869
687
810
659
204
808
405
928
659
693
876
91
114
738
939
583
211
59
356
86
393
151
571
150
744
564
747
620
226
400
212
784
284
795
477
478
80
145
659
419
803
486
105
641
616
320
496
268
782
191
490
789
441
473
256
633
326
169
842
134
416
993
417
875
172
646
854
44
525
999
11
616
227
832
310
153
540
902
914
500
478
349
875
927
969
915
109
111
410
954
971
882
15
32
472
859
268
712
926
917
561
241
890
941
806
5
818
474
387
994
749
678
355
32
691
468
131
198
110
848
358
675
66
207
719
260
101
806
697
903
927
751
265
934
351
510
465
83
607
427
660
15
495
757
9
858
244
439
364
122
68
228
386
480
741
803
107
118
325
172
580
748
404
44
527
914
792
796
97
937
674
374
940
683
613
717
801
369
646
307
769
766
964
40
107
523
284
906
343
766
115
897
892
817
521
140
69
621
922
538
733
471
660
39
208
667
810
296
345
85
755
613
752
955
535
12
325
830
905
742
122
352
296
753
566
401
624
494
703
189
973
900
958
111
718
569
427
477
568
952
234
800
355
846
911
962
125
600
76
414
233
212
877
535
700
944
853
438
44
165
848
771
167
889
587
547
640
858
361
612
919
94
25
140
593
577
175
468
765
24
927
636
64
841
222
254
569
954
923
690
165
580
287
127
433
9
573
716
226
107
650
954
478
557
470
360
663
839
187
769
523
551
516
821
358
965
658
746
210
646
729
170
726
534
186
454
373
176
188
48
906
650
142
416
718
319
995
397
743
754
947
236
89
35
349
123
485
178
520
823
894
608
104
816
387
446
351
474
477
877
431
948
616
12
459
836
500
479
434
175
173
413
699
20
618
700
840
639
723
20
177
385
14
756
127
421
530
865
746
759
587
583
707
545
912
236
830
122
849
480
10
152
896
12
65
15
820
181
608
771
4
924
484
197
486
180
723
811
330
223
249
322
617
410
736
671
351
442
162
649
986
584
564
123
142
223
436
59
302
801
22
844
913
405
481
905
404
242
523
265
53
843
673
445
515
29
730
108
108
649
365
902
601
591
41
274
358
828
609
399
158
119
991
968
932
502
343
309
941
928
965
199
624
189
21
764
480
828
809
71
848
842
929
374
389
820
217
483
397
603
674
394
809
705
11
151
942
473
583
881
504
440
660
90
434
375
5
602
429
322
667
955
851
288
751
712
821
324
684
869
951
439
153
475
98
184
457
667
963
738
497
539
136
54
988
653
396
919
804
550
713
815
498
315
381
104
204
110
175
371
78
599
235
731
386
353
623
518
130
666
159
66
868
665
170
210
963
266
261
747
78
303
79
312
158
113
310
74
468
954
817
164
565
932
923
1000
170
478
336
544
47
43
80
23
918
376
135
867
333
648
172
448
233
742
891
679
585
203
990
719
103
722
723
814
566
529
331
779
645
744
378
760
488
547
158
661
500
44
903
95
939
788
478
779
930
266
593
53
474
73
373
610
874
125
265
566
744
1
853
739
437
449
174
359
288
150
458
465
559
70
99
933
325
119
788
422
850
374
423
507
187
830
386
938
826
505
233
272
235
710
646
72
36
505
770
519
382
656
675
537
824
897
751
476
588
944
288
984
708
502
384
955
931
445
551
333
611
479
117
114
125
820
560
116
443
891
427
933
599
573
377
47
762
290
191
234
487
117
293
257
511
102
455
321
167
238
857
926
61
835
634
577
188
603
330
242
53
367
460
605
705
218
505
921
777
848
215
726
802
964
63
721
77
979
60
941
290
616
885
672
15
679
506
674
860
987
4
977
794
425
330
874
699
90
120
784
660
781
479
326
939
466
858
296
790
869
781
234
539
70
175
915
393
827
489
419
477
359
631
388
515
505
982
711
354
476
401
153
292
925
158
369
782
679
248
353
621
275
327
605
170
405
854
205
519
456
652
550
754
618
195
709
622
446
442
248
13
323
887
878
588
18
847
492
808
417
677
962
386
552
747
609
873
235
503
367
704
992
902
506
514
472
800
227
966
199
650
567
632
348
982
837
704
215
712
237
435
175
267
403
257
234
897
365
444
720
281
815
61
265
767
644
674
997
102
402
985
780
556
736
76
401
695
874
483
864
897
899
633
308
882
917
530
624
156
211
702
555
298
124
587
893
421
720
473
433
998
255
84
484
460
95
660
82
641
998
157
521
178
623
782
453
432
711
633
622
391
622
657
213
235
844
487
940
964
607
955
238
555
996
279
338
601
791
943
606
288
817
298
225
860
756
774
215
440
216
391
810
176
367
930
427
220
569
747
800
950
273
700
389
200
902
84
812
1000
567
776
914
451
239
13
17
938
440
370
83
845
588
539
785
252
918
423
937
945
253
962
352
163
1000
804
934
152
447
645
776
551
793
592
40
42
409
401
709
497
468
812
615
65
467
482
741
247
118
236
476
41
778
409
347
650
863
115
797
106
685
130
707
358
760
950
724
66
900
251
907
362
375
671
859
307
976
312
303
643
86
836
6
698
774
374
62
994
448
708
823
168
877
369
149
330
207
330
276
871
161
988
279
9
794
962
35
124
982
67
610
986
382
479
212
542
681
725
189
848
831
623
84
41
371
736
418
22
114
180
690
637
207
880
77
709
48
492
457
226
599
244
648
358
413
876
242
752
71
739
983
708
796
840
433
458
732
294
566
721
735
204
11
134
558
483
909
941
3
475
714
539
939
564
833
90
101
110
690
431
213
177
657
944
315
517
300
867
125
174
580
792
886
909
947
709
436
343
756
37
165
381
92
518
124
984
841
729
790
811
841
236
891
609
28
78
265
465
747
365
939
223
849
266
479
400
731
541
205
947
245
91
28
47
256
700
534
957
697
251
407
571
160
241
474
988
414
312
409
885
773
884
673
881
866
683
310
423
241
133
65
922
169
109
677
32
173
518
316
949
104
529
875
611
25
63
226
478
776
309
612
346
857
626
60
328
188
180
92
656
359
60
991
486
256
414
628
223
289
363
137
197
26
51
772
706
726
237
884
525
115
215
319
18
770
743
454
865
645
833
746
260
588
968
930
147
192
298
935
692
958
885
192
727
522
881
243
347
697
831
465
187
119
944
279
152
618
278
452
554
796
251
935
665
915
820
241
655
892
928
535
804
116
563
453
611
829
879
164
167
6
326
340
706
57
703
517
813
150
344
780
109
640
410
846
618
927
392
385
200
15
494
847
569
212
507
180
485
695
163
547
602
98
732
550
333
925
770
557
860
305
564
419
26
569
750
234
479
172
22
873
864
741
620
620
254
379
519
673
308
961
830
208
817
781
962
371
406
841
523
899
181
19
750
988
980
581
514
702
760
779
605
453
320
788
10
32
234
865
407
276
376
395
914
671
872
467
456
135
673
691
721
737
168
272
840
371
455
736
336
239
922
314
841
556
785
685
357
42
105
708
538
633
584
776
613
337
140
658
49
295
865
24
27
941
454
391
86
599
636
864
87
7
419
902
735
987
215
288
490
981
33
663
652
194
940
225
742
888
979
691
99
742
528
199
789
270
894
604
482
980
545
523
962
374
989
586
337
866
760
556
784
409
365
381
921
969
329
788
459
952
646
721
852
375
90
779
72
855
792
839
453
476
430
207
821
207
204
946
746
823
461
567
810
207
486
831
257
531
519
272
226
15
472
966
70
916
195
175
929
918
387
778
789
335
399
803
781
400
257
959
354
438
203
792
239
931
922
980
873
274
433
322
25
577
275
191
899
976
268
546
935
746
583
155
828
974
314
301
58
664
10
114
344
937
912
613
993
406
701
721
92
916
655
763
827
570
35
451
995
378
349
942
962
916
932
314
892
101
923
753
54
564
289
778
435
129
10
94
652
579
953
47
407
255
195
174
304
14
808
80
891
720
164
696
211
767
860
4
972
102
251
477
702
805
422
810
882
604
109
3
105
613
773
478
788
172
501
726
795
931
896
927
625
190
451
78
486
125
155
436
660
670
237
516
54
764
40
424
721
169
965
81
455
238
326
739
247
888
724
263
525
502
268
849
605
642
536
180
725
276
696
582
338
679
619
350
123
283
117
305
267
549
679
563
170
353
198
687
642
468
226
639
68
485
227
448
740
903
154
72
778
190
432
726
606
323
76
849
973
698
266
969
862
320
145
948
488
867
11
486
741
574
349
294
65
870
329
62
803
349
532
189
435
993
618
270
975
487
614
485
61
131
280
384
868
108
749
20
71
805
272
36
527
475
421
94
186
792
555
2
59
717
708
981
703
693
293
779
794
383
202
785
829
22
928
829
919
30
324
120
906
652
484
647
762
297
24
408
352
695
724
45
135
174
106
808
339
153
12
292
437
427
661
47
539
919
999
10
417
383
345
663
459
953
500
968
794
528
504
446
193
737
168
167
143
635
367
85
622
314
828
863
741
372
803
288
372
509
597
425
276
591
384
910
81
163
133
164
616
776
736
840
772
459
647
539
50
331
417
675
384
668
525
372
686
682
817
461
761
910
681
976
923
395
805
993
657
744
6
341
179
774
131
475
545
688
520
763
302
624
797
542
291
984
95
570
331
167
906
907
989
202
863
835
541
296
719
176
514
514
664
223
948
629
908
577
579
704
162
361
697
75
236
636
367
278
475
387
999
863
178
66
25
217
451
560
570
247
181
385
569
244
931
79
714
335
596
40
16
649
636
514
503
764
479
49
775
40
525
478
713
158
779
435
614
573
741
455
453
594
642
974
737
511
510
903
650
522
807
13
792
189
609
54
834
855
357
400
845
708
259
28
877
175
287
774
623
959
563
187
630
271
647
744
582
794
847
835
626
462
242
733
602
422
522
699
272
412
118
492
352
387
329
803
214
401
341
565
627
676
75
650
791
243
788
217
221
819
233
841
763
326
953
605
113
44
10
548
736
471
998
197
42
827
754
452
948
567
537
721
753
416
804
78
366
195
903
156
477
165
160
641
248
689
863
539
432
757
568
813
606
353
48
609
415
647
903
58
240
778
563
544
769
305
946
413
278
475
525
332
282
108
933
882
389
280
520
530
822
931
475
815
97
232
210
434
750
803
726
940
874
890
583
930
424
186
902
913
938
289
584
549
333
719
517
567
926
993
115
491
669
515
956
220
876
956
639
639
385
320
236
705
187
148
879
831
41
153
78
22
489
142
357
912
989
216
654
735
591
137
744
340
693
196
608
526
939
110
282
349
242
259
238
552
259
55
738
961
358
342
928
482
310
529
666
349
433
560
210
380
919
947
920
326
420
815
64
809
731
335
701
985
612
941
314
818
343
509
590
754
616
963
245
696
755
880
331
378
66
304
790
634
304
330
334
618
893
25
915
704
518
896
148
670
175
427
53
786
553
184
392
572
902
588
708
344
157
749
869
132
170
692
586
193
313
879
870
138
640
202
876
652
9
499
893
866
285
232
531
733
797
153
271
164
739
687
675
248
71
261
445
629
803
8
491
991
241
121
869
639
892
605
207
384
230
360
795
273
494
308
43
233
961
774
408
373
929
414
225
483
771
798
69
288
956
175
450
129
924
27
638
42
42
792
384
662
642
516
130
973
335
261
87
708
344
818
178
94
640
643
457
746
1000
950
51
705
957
602
69
52
796
762
215
19
368
275
11
268
518
402
665
830
343
827
592
231
345
848
534
483
750
254
28
964
965
699
698
669
123
284
472
973
201
694
380
824
996
436
997
244
560
660
984
130
343
597
402
577
392
849
650
413
436
670
951
165
584
864
265
437
665
149
406
555
952
647
921
376
114
685
970
380
775
213
64
477
968
988
6
524
133
110
806
184
16
642
637
587
983
799
154
250
836
660
596
830
138
406
143
597
443
872
948
956
597
576
97
943
446
468
520
407
867
352
523
481
37
284
188
47
244
325
369
108
343
660
357
383
188
473
634
986
945
950
256
725
255
428
568
459
623
31
918
917
228
108
955
581
623
365
947
549
402
932
208
785
993
471
443
777
177
69
273
461
796
884
697
161
401
428
581
463
243
918
513
156
121
352
527
811
56
836
282
155
691
216
221
105
600
248
159
226
387
393
498
436
600
812
970
941
976
283
430
795
479
590
691
934
908
381
818
256
624
625
638
94
42
573
405
460
135
568
717
527
114
122
816
157
851
456
339
689
338
64
430
840
704
957
889
326
838
946
701
718
709
666
830
129
831
140
659
579
135
287
838
232
735
172
566
285
653
787
553
961
628
773
985
927
527
846
829
471
736
625
734
923
130
190
582
172
872
991
478
553
350
635
614
79
7
697
931
725
686
930
13
487
398
164
920
975
69
727
998
623
937
462
793
981
729
260
325
145
669
575
909
101
652
566
611
664
636
346
203
716
419
330
191
662
477
806
54
384
488
686
381
455
467
841
962
89
218
555
243
96
912
411
748
91
183
355
226
374
81
771
292
157
576
161
301
281
100
402
23
184
762
649
440
609
483
616
669
496
266
408
559
566
220
29
990
314
762
447
295
559
614
376
492
195
856
986
218
530
275
359
357
431
715
856
348
498
952
495
78
705
839
92
89
197
144
164
532
501
536
558
949
959
633
328
494
55
893
673
644
227
404
601
806
848
295
584
468
361
591
665
720
933
795
357
28
604
410
198
120
595
888
19
717
382
219
805
644
126
476
549
528
309
160
639
913
728
103
122
87
558
47
675
386
823
721
213
998
481
417
850
551
271
582
381
887
631
943
509
461
289
14
818
739
571
607
887
841
73
171
991
396
128
332
566
264
394
26
970
340
973
985
121
123
707
174
257
112
681
933
413
397
507
250
216
977
658
571
231
448
990
992
423
721
588
513
247
324
257
278
522
661
285
352
487
334
604
663
425
262
105
174
773
852
652
228
928
951
303
261
846
610
341
795
78
5
985
640
131
958
66
802
882
622
547
419
338
835
457
392
176
535
749
78
376
433
589
510
745
790
814
146
262
801
636
76
26
541
198
933
8
868
233
514
972
990
931
249
674
625
75
203
910
814
662
284
51
468
513
640
476
717
815
71
683
913
176
376
963
951
490
217
183
201
880
15
655
924
13
814
44
509
352
843
987
268
272
722
419
772
527
862
610
967
238
633
553
334
451
307
687
417
309
607
847
940
50
932
23
524
388
993
742
791
287
612
828
214
811
926
903
655
479
83
226
954
556
803
376
271
788
836
826
167
341
440
713
539
165
505
934
625
532
815
247
227
256
271
258
220
993
585
976
188
41
89
158
692
280
796
778
331
241
805
803
200
810
464
896
814
734
436
796
838
921
962
915
224
529
191
107
466
941
361
673
714
47
15
398
464
690
193
830
337
740
716
69
273
32
269
38
76
308
969
605
844
390
509
922
295
44
761
61
342
362
943
341
611
71
56
766
737
831
317
615
411
486
757
569
130
214
971
692
522
693
242
230
943
753
929
460
753
427
38
759
315
978
360
647
305
263
435
815
337
748
850
40
296
597
81
471
983
508
150
952
874
404
868
950
842
660
334
172
662
262
652
140
26
197
538
831
532
431
618
995
866
979
709
909
932
2
333
136
244
312
32
330
262
376
782
239
700
719
974
850
43
608
957
42
653
45
112
209
853
375
782
65
366
290
164
239
278
587
428
344
506
822
923
888
365
919
330
803
426
854
985
377
318
778
439
56
514
338
482
935
414
469
526
749
245
668
216
825
394
591
583
766
777
833
898
618
799
929
609
867
218
922
386
916
11
350
363
614
925
112
127
996
958
493
844
656
443
557
213
61
758
253
590
689
958
793
730
70
754
343
61
708
361
578
322
357
701
444
681
350
305
301
162
476
92
719
334
430
849
351
725
3
850
703
349
987
576
100
76
236
879
849
307
445
268
389
569
5
221
240
186
689
534
659
147
55
796
242
666
171
973
130
666
692
968
113
644
351
765
660
916
673
424
844
247
73
775
196
274
526
107
749
909
700
559
941
150
765
186
562
301
92
864
649
665
716
311
88
170
753
498
683
231
891
627
642
393
749
685
730
953
136
299
832
781
194
250
327
51
999
528
421
452
427
277
583
692
32
299
314
816
179
70
738
941
976
348
931
464
328
561
476
744
46
93
474
528
72
507
101
107
757
501
879
304
600
95
6
922
27
151
454
188
597
824
56
92
474
961
480
225
151
773
789
895
153
337
301
831
924
615
576
758
163
707
656
477
629
996
142
866
844
708
290
390
180
139
77
284
520
489
101
580
80
788
254
519
985
885
352
726
879
853
272
688
208
437
707
741
789
374
344
737
943
512
123
52
786
658
257
363
216
993
854
909
783
716
305
587
889
295
100
256
701
348
342
136
763
682
61
985
525
504
341
75
919
126
416
610
674
769
116
349
263
209
504
665
271
104
87
175
476
782
722
380
139
183
249
452
830
395
898
433
611
964
722
618
572
715
688
830
482
339
540
625
841
437
234
206
684
979
568
963
313
415
617
118
526
752
693
909
47
6
888
106
565
306
678
424
223
864
665
589
451
692
337
369
737
675
595
894
330
144
909
980
867
566
183
962
628
370
787
763
447
181
772
539
303
968
990
244
281
661
669
907
895
844
33
242
728
14
722
433
966
719
72
604
694
618
831
525
741
123
484
561
457
841
191
751
57
451
270
142
60
16
267
216
929
981
928
318
207
266
788
458
337
937
689
806
884
905
257
445
40
980
255
702
157
416
775
456
533
732
446
370
849
241
167
899
440
195
395
271
64
861
712
378
961
188
173
648
752
919
966
541
179
150
14
244
781
366
473
529
322
935
509
488
227
871
361
60
310
460
433
811
820
978
118
465
170
311
85
30
781
759
38
211
139
682
296
968
478
938
135
725
563
252
494
737
628
741
523
556
893
867
470
366
1
936
542
197
386
140
747
689
816
828
152
91
325
328
684
683
310
182
350
642
851
107
723
659
166
313
654
276
734
105
411
16
770
830
893
848
668
297
104
444
503
788
852
954
917
646
483
788
513
212
521
940
401
582
295
974
694
247
974
667
546
191
945
681
810
421
155
328
491
237
842
691
983
758
75
866
469
360
650
82
997
719
205
803
459
77
825
695
127
231
75
515
435
454
92
554
448
272
351
274
785
541
752
157
835
761
913
589
753
960
971
822
103
733
692
656
962
239
431
507
6
52
308
969
368
763
6
784
40
135
749
392
222
458
340
889
268
430
639
232
864
565
482
33
609
638
841
132
447
121
976
385
318
925
435
826
901
12
31
411
600
591
319
46
747
704
697
507
563
954
977
156
565
26
156
69
982
434
161
288
218
610
554
465
562
65
520
51
154
849
995
555
676
934
440
101
372
501
608
697
767
281
620
130
885
284
819
420
886
247
144
70
751
87
235
172
66
513
79
564
28
657
769
842
484
314
863
13
206
873
921
962
631
565
3
730
969
974
334
773
936
93
847
26
360
356
47
585
556
212
471
261
687
790
64
98
288
119
914
166
743
191
157
615
808
869
321
992
177
286
24
323
699
895
730
279
104
803
220
64
971
333
546
297
276
48
485
276
26
619
953
472
398
965
378
29
292
114
803
322
432
64
352
330
957
739
733
734
951
823
677
119
532
847
540
612
894
413
833
645
195
845
84
200
295
888
298
134
111
280
230
639
820
173
844
930
202
390
611
553
188
482
765
534
61
354
222
711
823
28
654
223
977
737
110
78
300
133
649
161
271
855
705
789
435
94
268
194
400
55
520
862
83
441
254
739
543
155
285
691
997
431
46
462
619
524
746
627
310
892
796
643
943
535
675
191
481
789
62
438
989
395
845
722
795
125
570
432
951
581
998
518
728
34
704
182
65
364
70
752
785
173
600
659
914
175
202
741
621
803
6
782
140
788
286
346
534
139
286
448
305
561
95
558
677
854
227
756
837
232
238
585
541
846
532
335
272
991
482
971
571
624
155
962
255
842
192
560
977
937
863
886
997
458
926
357
80
498
668
544
159
58
436
578
778
931
37
584
352
8
615
444
956
284
12
384
727
155
141
521
923
743
636
479
354
134
848
663
222
392
336
580
343
115
92
838
374
149
151
113
926
757
629
414
401
222
953
441
944
334
775
687
208
720
55
214
455
281
875
710
159
261
846
503
417
656
334
722
414
708
361
659
650
234
745
727
885
384
909
65
544
248
883
24
866
387
175
207
203
994
570
742
691
864
426
743
3
799
694
676
981
356
725
497
750
91
904
972
337
585
290
543
915
552
733
480
539
291
394
824
635
597
189
797
588
972
460
957
448
671
71
327
191
666
229
177
969
92
531
890
487
113
158
573
960
440
655
698
136
920
443
52
497
718
84
730
64
602
299
711
206
790
937
823
477
588
407
529
759
811
560
20
961
583
663
573
90
663
876
978
750
881
625
124
56
615
340
492
495
497
306
416
466
704
793
426
129
235
203
906
719
581
704
609
633
48
709
244
490
790
600
501
813
309
303
387
171
748
676
662
402
859
162
515
30
883
880
347
77
936
86
681
295
699
974
762
222
353
890
377
615
723
343
787
512
544
643
429
606
609
586
223
665
328
415
912
446
850
136
846
928
521
413
997
715
869
448
844
140
743
659
912
950
456
518
415
446
45
597
445
603
794
741
586
3
214
283
661
387
572
403
562
252
870
46
760
187
910
298
138
593
715
762
250
13
88
261
987
540
563
150
865
695
329
628
879
695
983
706
900
281
100
886
115
119
706
211
890
336
699
52
742
928
132
910
811
610
91
523
345
205
554
802
222
775
244
449
463
556
980
648
32
190
451
863
936
884
641
618
814
903
376
120
729
231
572
705
843
343
816
396
37
750
855
312
275
413
401
265
720
156
418
646
165
939
751
636
366
224
465
823
218
679
793
565
545
177
937
822
483
358
258
699
31
41
599
687
385
425
566
393
75
299
606
616
793
500
620
750
995
423
692
841
39
706
214
120
665
129
314
430
66
356
72
812
684
416
382
417
129
687
738
50
279
743
431
902
732
617
811
440
248
911
359
13
716
715
263
459
497
484
75
872
685
846
831
755
954
840
686
969
180
205
720
250
933
175
90
578
303
689
96
345
233
45
62
117
685
816
128
722
532
274
234
592
998
649
542
526
868
323
548
525
425
433
946
949
271
436
69
1000
770
899
407
467
827
150
254
734
127
446
10
279
750
15
59
310
293
655
404
681
238
578
475
970
337
838
557
438
182
989
378
609
18
593
217
376
17
804
790
863
963
559
822
755
273
804
922
449
791
824
829
168
627
929
615
133
598
718
726
993
497
652
31
980
495
912
188
666
494
373
717
784
105
64
139
299
269
668
411
813
211
446
697
408
562
479
179
273
973
271
232
767
508
562
776
127
394
669
47
670
491
795
325
173
949
526
401
107
101
164
682
513
576
643
870
632
3
516
104
823
429
912
285
937
753
406
79
53
84
481
733
411
874
622
430
466
125
101
358
186
738
224
66
144
276
121
959
459
60
175
977
375
506
838
605
101
42
889
353
551
799
150
781
815
484
301
931
472
493
732
778
381
401
259
930
210
372
182
332
734
953
349
201
924
944
847
741
918
734
463
442
258
573
288
959
166
727
714
591
240
389
591
389
645
470
504
776
806
162
973
379
609
233
852
417
350
551
407
652
10
268
296
349
953
418
204
157
815
417
959
92
171
124
769
83
554
637
617
606
536
988
992
24
873
247
830
167
165
327
971
527
105
941
497
222
115
767
26
524
138
861
393
322
383
729
223
369
84
308
528
519
700
292
847
489
539
853
419
821
498
836
544
866
430
931
593
580
717
154
87
856
743
208
910
921
325
955
963
67
629
259
537
577
711
932
253
304
678
384
658
740
334
825
505
801
362
586
247
800
285
149
554
234
930
32
485
77
643
517
499
263
268
536
666
903
780
738
294
573
496
867
653
696
6
102
667
670
317
940
235
845
194
542
304
912
399
179
956
564
290
592
530
507
293
610
253
45
837
320
927
482
672
488
982
543
932
651
601
848
900
501
670
245
225
780
58
453
204
853
59
44
894
568
889
265
973
780
802
575
711
130
731
68
942
307
363
134
603
11
199
816
301
275
473
331
360
649
758
117
968
960
717
604
374
39
733
616
576
829
83
952
555
773
919
228
928
224
558
491
828
893
495
490
937
44
101
714
843
210
201
502
333
699
577
556
797
50
989
206
643
921
482
624
523
564
590
979
220
195
542
223
216
53
729
795
349
895
515
21
471
984
914
428
675
400
791
474
501
601
40
446
503
761
594
387
698
336
233
977
717
697
906
197
920
418
666
490
349
1000
409
868
155
384
286
74
57
618
56
495
451
387
674
962
48
994
77
990
268
504
483
275
202
447
524
453
625
453
164
244
413
642
680
99
717
403
949
371
440
469
901
857
861
798
274
295
752
861
748
992
951
372
124
338
176
362
464
377
788
784
991
960
330
494
152
266
943
546
406
632
140
229
221
698
53
166
259
855
941
101
934
869
677
693
350
304
947
781
144
118
123
73
891
350
94
149
553
358
883
15
913
449
536
165
63
95
571
262
778
116
313
102
67
369
506
477
260
497
956
928
748
257
348
138
902
764
50
895
733
784
408
145
605
822
27
635
662
363
550
44
650
68
710
311
536
119
815
54
621
192
362
627
887
727
167
324
926
259
291
746
143
604
4
88
882
551
244
422
731
594
326
652
562
918
138
879
783
483
717
382
871
625
879
267
507
980
515
128
541
930
304
720
555
12
829
746
31
873
502
328
991
456
302
655
505
40
37
571
656
667
741
604
371
257
853
24
52
408
40
68
75
479
864
366
39
63
16
956
115
352
512
14
961
233
60
551
469
176
803
916
1
74
757
861
913
285
599
318
875
11
851
808
918
49
178
543
183
662
219
929
94
10
338
92
995
119
730
512
386
883
555
611
515
915
157
350
474
407
982
536
901
315
501
526
90
289
285
450
568
789
419
926
211
723
605
463
565
766
600
382
322
237
161
174
846
59
275
635
219
835
253
994
535
544
229
542
64
687
697
900
494
980
977
202
621
854
959
912
798
73
981
921
918
782
504
849
937
146
71
204
761
554
127
153
823
35
448
184
825
142
297
854
947
65
932
182
267
139
770
945
265
232
323
307
86
727
2
755
629
938
51
281
659
838
120
88
866
909
485
914
192
789
484
194
834
144
553
903
15
832
96
882
13
24
576
879
946
401
384
297
505
930
450
884
179
13
133
198
482
990
568
698
388
75
570
757
443
818
144
692
29
82
885
195
854
359
810
136
23
952
704
810
995
203
654
137
292
467
279
179
110
975
72
631
850
85
420
606
178
674
94
107
407
582
439
105
899
74
72
984
688
294
615
470
719
532
879
825
939
915
972
233
980
850
998
805
305
114
355
565
526
16
177
117
53
448
117
416
346
972
507
234
849
312
892
443
87
742
96
208
526
910
258
539
518
561
722
433
78
497
294
995
284
842
107
536
816
361
297
608
517
121
716
344
894
307
194
290
149
315
211
79
683
608
397
967
10
933
978
221
670
679
146
819
30
82
339
712
860
953
582
180
139
396
376
425
886
701
95
620
694
247
490
74
270
777
699
41
513
838
100
993
564
545
462
808
849
72
116
458
303
447
255
239
887
272
100
478
1
984
346
993
596
150
233
228
631
65
602
160
13
616
509
556
303
991
328
100
304
293
779
238
90
542
995
340
165
868
554
900
224
916
401
74
414
617
706
791
97
507
10
60
842
739
457
830
800
753
507
986
664
348
312
601
129
551
827
580
146
242
820
225
289
977
185
34
243
820
312
283
744
293
873
531
334
737
9
214
909
479
839
934
372
193
147
864
663
790
333
935
52
936
11
124
874
65
114
209
808
370
25
806
394
774
20
383
737
362
290
211
240
56
887
870
774
622
214
52
909
217
112
852
699
767
132
650
40
450
369
995
816
425
59
599
874
734
246
663
377
7
969
301
229
184
827
702
88
995
246
75
930
315
485
92
275
872
201
739
925
969
411
11
554
43
801
854
520
893
639
118
66
377
1000
60
454
204
599
105
630
221
326
170
771
235
455
818
381
4
606
951
689
483
756
492
737
791
981
771
928
676
167
911
765
408
610
534
201
170
301
544
290
989
693
578
833
178
913
938
316
73
724
473
701
570
994
950
607
602
108
871
963
224
511
592
494
434
541
860
285
174
832
552
249
250
790
487
509
40
99
693
611
943
783
363
986
482
59
76
282
877
139
550
15
656
144
306
493
607
536
142
114
924
792
263
961
947
569
209
60
293
306
502
818
472
977
46
914
340
752
889
352
847
407
897
498
583
670
265
634
568
83
566
8
567
622
186
368
999
42
618
744
126
842
48
546
810
832
66
147
586
506
146
734
176
803
744
610
870
403
462
84
360
397
778
765
766
6
236
382
530
82
836
199
832
235
623
744
940
816
76
826
683
414
989
764
820
194
983
338
646
201
635
210
604
666
504
480
23
511
9
600
352
474
164
73
445
694
717
241
473
208
91
15
66
492
853
547
128
109
123
708
572
548
484
747
914
536
422
612
255
485
316
288
695
218
271
900
630
813
858
529
693
207
984
398
342
205
615
559
207
660
99
296
352
890
138
205
567
855
283
302
622
202
955
592
190
83
622
233
818
534
704
803
849
303
228
214
741
236
3
491
520
718
331
978
491
215
871
533
421
655
285
938
596
257
743
25
100
402
170
24
594
349
384
241
702
884
901
455
811
504
242
354
750
344
35
937
314
885
63
26
84
399
696
975
293
213
794
180
800
131
286
252
339
763
88
547
313
107
927
304
376
440
966
820
898
465
784
920
226
725
425
491
335
464
721
999
43
496
45
709
511
148
945
806
109
1
908
733
94
8
576
832
731
501
364
825
648
797
314
738
225
350
454
654
791
885
631
50
219
539
38
545
279
803
160
609
782
965
929
155
98
865
210
939
95
944
585
418
967
24
586
25
662
749
157
824
827
340
130
185
309
179
946
376
207
721
666
5
441
441
571
801
563
818
280
542
307
848
395
858
966
227
94
240
259
120
13
803
744
394
977
294
243
303
851
369
939
857
857
386
10
560
177
828
707
727
574
23
781
380
76
963
4
557
427
925
368
953
191
45
187
984
861
173
969
740
274
144
389
792
969
68
146
502
856
344
772
291
714
919
704
321
581
708
43
165
75
208
484
362
14
73
818
160
524
836
276
412
952
995
720
288
512
427
373
459
574
447
317
411
899
866
487
831
939
77
259
376
492
556
9
665
674
134
230
76
127
87
869
725
867
368
582
90
961
276
475
839
493
512
763
800
911
787
464
474
904
157
894
116
405
784
264
225
201
112
118
224
878
333
699
218
523
578
588
978
683
496
126
725
563
725
186
854
352
341
841
486
863
490
364
593
371
308
751
524
677
692
701
929
902
653
531
454
477
792
47
66
129
911
783
584
365
870
360
764
150
608
902
296
985
667
617
217
589
648
666
501
702
768
385
88
361
117
776
170
114
244
945
356
261
427
823
224
196
365
55
875
296
38
451
297
630
186
737
783
958
186
665
137
108
103
687
153
832
352
560
671
677
712
180
540
243
404
931
4
416
549
578
309
854
639
519
866
996
539
803
893
390
168
869
281
928
244
401
378
921
359
54
473
548
245
38
52
372
289
735
287
36
218
564
823
195
423
310
635
27
569
992
636
364
963
135
740
611
682
17
302
141
581
47
203
770
128
927
367
265
495
695
154
556
407
26
924
502
94
405
9
563
65
939
512
741
562
564
607
486
261
394
493
34
220
771
742
832
117
358
555
289
533
245
360
64
435
646
238
517
994
209
943
745
613
341
613
819
339
265
849
479
840
672
535
538
806
980
618
692
901
180
84
252
390
173
538
567
181
318
116
534
293
649
955
670
691
815
44
646
50
367
133
79
205
447
267
615
12
267
658
58
835
55
869
333
157
264
663
589
628
944
507
648
433
133
400
290
22
3
606
580
94
284
918
553
232
187
272
119
721
648
878
918
908
194
575
268
913
186
758
9
645
475
67
254
822
741
991
571
168
931
715
93
12
223
780
416
292
903
620
921
348
382
629
313
970
337
167
783
854
630
850
151
23
209
522
791
770
678
569
890
382
610
589
837
247
952
998
138
919
65
851
278
401
47
995
372
202
984
717
281
669
693
179
127
765
332
288
741
689
977
122
692
708
900
664
950
146
809
389
118
716
773
219
458
304
868
438
583
844
879
450
778
176
520
658
427
618
714
330
875
531
448
58
395
323
610
279
619
213
967
389
897
521
175
181
612
460
287
692
328
164
738
49
81
194
190
578
759
861
948
279
751
481
874
724
539
144
859
599
883
620
945
384
624
814
137
132
891
572
793
908
659
687
231
203
228
683
852
568
139
338
651
795
462
900
467
176
192
670
680
791
700
955
372
297
770
378
161
401
825
208
996
54
323
663
218
415
174
114
117
803
237
752
5
182
628
517
566
200
603
84
874
453
253
232
997
419
97
214
556
483
941
619
950
553
45
794
223
48
719
106
692
462
961
192
548
253
651
873
585
586
104
601
124
290
508
144
958
493
870
699
853
536
637
806
731
186
55
208
171
631
699
301
269
433
301
925
222
441
205
9
216
640
266
67
343
41
27
567
286
44
328
998
477
112
302
839
259
233
865
680
368
406
416
498
662
275
421
429
665
168
988
414
879
964
300
806
286
655
26
314
675
967
395
724
665
152
689
422
379
871
297
108
731
134
326
30
197
425
997
681
755
454
714
214
421
472
711
720
405
717
683
146
491
355
647
853
636
226
539
713
177
817
765
237
273
147
972
394
346
656
811
694
407
787
367
614
66
658
200
638
954
127
702
19
36
585
531
878
7
15
450
389
566
225
799
628
829
644
168
132
617
781
590
298
610
231
691
592
618
122
821
913
347
27
117
594
58
651
826
230
468
60
1
964
102
831
824
889
44
251
435
962
693
619
94
184
728
796
941
841
906
336
381
273
764
973
355
988
519
745
362
928
692
743
122
358
64
351
193
143
597
815
684
156
817
196
464
183
40
50
881
962
490
669
95
917
8
369
547
783
604
92
985
500
511
532
721
714
779
121
458
752
690
461
153
168
429
206
805
807
537
982
27
904
607
651
486
866
610
137
81
280
983
33
773
138
335
466
548
460
196
999
904
294
773
893
587
518
58
719
34
32
961
116
147
659
373
502
544
560
186
648
421
1
326
355
501
111
815
898
325
637
710
505
325
784
532
943
679
922
457
137
965
334
105
879
9
204
234
892
125
707
46
896
158
447
65
880
357
426
768
480
115
456
240
221
52
148
112
376
748
666
989
406
651
981
352
212
375
691
664
974
606
383
46
929
325
99
405
290
910
741
344
408
941
121
553
431
234
948
607
939
680
243
268
469
979
559
471
435
250
892
115
643
787
376
698
521
954
679
590
217
322
522
443
904
664
896
840
24
362
351
786
664
105
227
45
978
504
768
662
360
378
891
220
62
45
793
524
101
886
650
412
572
817
459
386
964
100
419
538
633
50
362
77
422
841
409
346
252
548
451
847
660
992
25
243
435
741
899
664
928
831
972
978
132
396
122
834
337
395
275
409
33
64
285
797
720
568
171
858
480
533
885
218
475
807
78
775
20
864
225
733
523
678
108
717
367
802
877
956
775
646
808
864
787
599
460
633
757
773
118
571
186
575
315
28
286
269
723
689
408
946
908
925
339
54
276
649
528
736
43
849
514
772
191
537
141
808
225
376
724
925
960
661
931
327
739
633
21
52
212
337
37
206
295
371
690
132
960
892
979
324
307
207
16
640
744
111
168
578
147
900
355
918
640
631
275
67
946
792
424
806
324
3
965
958
791
747
932
695
656
429
777
830
383
236
959
432
498
394
167
562
492
395
730
748
713
696
985
39
801
205
668
152
549
600
891
262
957
128
883
440
885
119
509
627
922
830
478
269
18
644
305
455
953
848
327
454
977
423
488
46
783
312
219
931
539
622
425
830
856
94
505
542
443
958
374
408
676
985
648
86
465
142
515
524
617
772
322
300
353
618
585
287
769
332
950
700
797
346
609
177
657
89
827
461
909
596
514
652
906
467
231
750
916
19
639
383
193
193
143
207
15
464
407
451
71
561
505
480
615
277
685
26
480
26
126
2
397
94
600
342
45
736
659
433
930
334
826
25
487
875
270
441
770
905
622
60
722
913
915
750
274
855
119
959
494
142
348
625
563
943
661
933
611
111
277
235
368
392
177
99
120
807
289
548
687
292
892
51
12
715
462
699
481
398
871
323
269
109
792
7
859
321
171
561
364
189
830
58
458
327
638
437
509
931
188
535
976
260
587
626
274
754
791
720
63
309
911
381
372
386
29
846
37
609
381
515
719
517
205
723
113
921
150
835
83
123
918
308
121
876
733
341
921
564
275
157
912
522
997
718
215
825
85
926
907
154
901
949
408
506
418
345
497
684
39
79
764
428
187
354
257
20
231
441
733
978
633
303
171
201
688
890
157
533
864
421
337
278
532
850
390
604
853
958
846
175
668
223
683
539
515
678
801
23
306
458
389
915
787
647
683
695
621
332
849
972
827
463
514
545
351
254
14
716
751
380
533
582
326
121
161
529
535
987
334
560
220
47
258
428
984
371
680
735
27
511
835
320
918
941
443
273
46
711
427
867
954
342
384
542
379
200
927
830
544
121
726
780
229
81
431
997
155
96
725
884
503
323
399
74
740
570
704
293
492
998
237
127
888
856
248
218
660
494
597
469
308
744
519
702
791
988
10
74
532
880
907
240
32
755
666
909
982
195
461
966
593
92
424
777
805
839
813
629
120
916
390
546
111
273
558
844
22
343
645
873
510
466
280
381
255
784
949
783
96
351
708
444
357
378
502
727
272
982
674
215
721
793
110
968
54
65
867
119
407
708
317
420
762
779
560
570
991
528
345
297
225
76
784
183
235
120
928
190
911
879
651
674
580
639
364
427
615
851
785
966
757
728
374
841
607
668
61
205
6
654
589
294
379
966
119
703
699
174
764
594
388
390
353
28
367
186
38
635
442
422
339
743
416
464
820
909
618
913
893
516
34
30
149
723
859
489
245
606
79
956
592
756
651
269
1
953
950
661
20
804
411
561
877
360
721
989
851
840
490
461
403
517
50
625
577
742
939
540
50
836
646
656
666
298
421
36
489
351
289
317
173
375
922
230
950
171
706
226
639
332
153
932
865
207
787
667
105
72
787
255
277
188
939
705
333
319
929
95
708
179
583
207
561
4
458
2
438
106
66
44
367
862
138
361
424
18
509
44
494
611
647
69
289
78
358
490
688
311
908
112
106
522
666
216
918
791
380
749
933
67
361
590
521
230
190
197
290
518
29
956
135
282
262
22
64
551
987
321
489
330
830
631
514
917
650
338
379
761
982
573
366
558
472
888
418
352
131
550
179
359
983
823
396
144
553
324
457
542
685
645
312
413
397
950
206
931
823
202
444
597
794
993
890
577
315
676
1
304
976
685
2
478
349
431
220
749
545
163
701
395
413
513
972
248
280
241
219
985
793
857
212
620
130
380
8
751
795
499
868
616
298
776
815
547
214
344
976
746
544
762
163
620
820
296
172
95
105
926
922
426
886
792
846
20
892
637
952
726
15
44
560
818
840
895
5
674
801
549
555
737
561
691
349
907
77
651
427
950
697
293
830
859
786
220
300
341
624
140
316
804
732
740
99
230
381
265
732
352
733
366
719
388
994
426
159
391
957
735
213
969
568
372
676
716
439
604
296
208
807
920
932
830
69
591
773
9
848
755
628
660
561
596
701
780
550
158
391
163
171
673
387
134
653
57
724
85
189
436
542
311
420
93
3
331
469
272
173
442
683
626
733
711
525
929
54
19
427
856
499
31
948
273
845
172
305
476
337
782
180
266
207
634
733
552
482
902
907
464
476
490
457
529
690
357
583
593
746
91
733
568
591
537
870
991
432
727
527
616
797
681
2
978
648
941
365
898
702
843
345
453
986
582
731
754
185
136
678
262
514
968
170
993
692
215
956
148
104
774
469
192
372
282
579
321
381
504
581
625
253
53
439
962
914
658
176
724
645
469
257
205
459
966
957
278
245
107
992
397
340
292
160
772
630
543
325
686
303
84
849
551
117
158
501
250
422
466
930
742
173
119
45
692
895
350
10
87
864
524
117
434
803
182
505
145
10
952
531
135
169
164
637
511
44
906
705
445
901
100
219
991
747
881
62
644
447
193
362
905
342
60
652
969
248
433
515
948
637
854
14
677
314
431
467
283
184
802
543
142
513
802
218
779
657
541
896
542
404
477
849
600
905
852
189
941
690
547
805
537
390
23
12
801
627
505
216
776
965
997
536
238
974
998
163
38
201
68
223
575
311
456
29
234
717
97
919
980
806
201
329
103
222
488
332
247
774
923
670
467
225
422
192
27
593
599
722
66
627
73
578
47
823
257
363
118
635
812
216
127
605
172
368
53
723
614
741
44
673
369
321
82
591
181
211
539
553
538
603
532
324
503
371
27
801
742
639
126
211
846
471
799
334
502
773
628
940
418
615
780
215
155
423
531
107
186
945
131
455
570
420
715
263
590
166
254
661
607
654
251
953
143
176
2
638
917
451
772
446
150
830
133
242
954
294
93
116
43
108
326
95
312
807
7
694
59
194
292
975
747
133
418
824
258
254
801
977
500
107
259
651
119
916
652
765
782
865
854
392
194
730
907
507
540
787
657
85
569
127
930
314
856
912
541
999
115
645
33
280
605
229
63
378
762
443
782
443
227
481
385
513
299
367
258
246
730
377
770
315
421
96
838
352
285
361
835
871
23
137
274
863
28
334
981
674
978
673
142
302
929
958
682
500
881
559
951
927
853
460
552
116
501
967
469
215
150
65
372
304
936
449
53
584
426
450
503
879
694
451
56
713
319
879
347
688
205
540
590
7
419
898
807
767
487
854
212
73
688
745
895
140
969
565
321
259
989
860
936
945
699
356
331
613
592
149
27
862
424
191
901
824
774
893
687
34
294
896
796
997
862
440
872
952
158
319
165
320
351
90
775
2
711
91
282
978
943
797
92
635
962
252
71
882
638
603
688
364
777
272
945
51
219
931
813
49
473
222
772
726
766
148
325
175
708
131
15
549
47
26
577
77
151
781
344
387
902
8
893
328
681
478
277
646
995
418
821
733
83
552
649
129
527
13
576
652
501
618
951
804
791
514
361
596
123
856
855
36
674
21
476
311
839
839
462
133
473
447
409
800
865
682
85
277
628
375
320
2
560
509
608
182
255
970
603
67
943
540
726
47
571
856
442
456
626
289
621
656
589
88
556
299
170
664
869
683
693
623
527
741
88
966
626
557
945
930
428
214
1000
85
404
453
260
638
631
858
655
385
984
250
788
359
15
536
833
64
255
530
134
86
966
151
347
7
47
960
271
815
860
236
643
391
255
631
257
272
959
3
731
577
790
188
129
905
878
325
440
45
178
838
581
522
75
346
234
399
846
557
283
227
9
691
69
715
400
93
969
554
918
462
47
735
439
582
646
926
380
498
835
695
719
869
542
855
88
590
102
804
703
866
648
504
501
623
461
627
809
519
987
533
323
833
639
912
901
226
950
350
962
657
885
618
824
793
325
167
400
865
843
174
37
237
884
521
167
944
376
219
643
44
630
133
310
935
82
369
364
704
85
260
577
180
496
760
265
596
210
936
198
685
206
395
282
570
841
743
975
61
382
562
842
797
742
10
580
248
444
845
138
731
641
577
254
476
870
496
860
244
865
525
324
169
374
189
415
294
434
524
217
759
945
418
965
683
730
669
899
607
482
76
812
753
101
977
906
487
22
961
935
91
12
923
402
354
792
249
734
588
620
661
941
330
568
193
287
421
865
828
844
143
95
567
654
798
455
78
387
449
543
635
43
541
353
732
212
764
240
646
889
853
634
194
636
952
181
146
131
830
820
33
799
478
25
611
262
573
53
858
807
890
606
172
931
963
733
406
306
229
158
464
158
438
469
461
168
318
772
851
467
365
468
520
205
163
805
561
475
814
714
337
83
890
238
490
749
845
562
743
884
946
220
704
975
614
606
396
964
519
281
900
748
903
922
334
53
376
958
350
520
882
77
501
759
582
828
97
524
212
484
623
918
806
164
425
710
797
997
82
446
173
735
863
1000
780
835
686
635
860
453
260
415
613
214
482
57
911
887
677
872
283
292
996
519
954
862
138
697
18
296
554
715
800
636
498
169
76
936
575
538
116
397
947
628
419
482
982
192
635
67
924
961
383
103
123
562
608
647
457
509
654
340
850
488
460
599
204
703
153
831
646
894
847
992
705
973
633
632
948
929
582
418
622
733
105
772
63
559
129
889
990
492
396
884
312
280
627
239
735
402
437
44
308
874
650
734
991
771
108
165
505
390
155
904
983
365
720
563
416
778
334
820
487
540
472
575
139
840
320
310
154
501
459
310
98
438
956
860
196
245
69
935
127
122
86
167
223
987
840
70
307
619
69
608
232
123
126
189
187
835
486
92
41
15
139
120
292
329
228
49
663
180
208
11
66
398
441
533
401
648
326
381
632
231
21
683
693
565
337
115
22
785
624
27
955
330
322
516
774
323
395
377
956
826
34
780
29
779
875
284
501
530
452
500
541
389
787
313
416
576
794
77
225
247
670
610
135
42
563
133
146
723
553
509
387
44
473
303
103
927
138
161
761
416
316
17
180
615
196
427
168
25
120
125
935
249
127
525
466
47
166
493
97
111
901
158
780
720
714
925
934
660
827
136
262
402
499
25
681
547
867
694
334
974
345
862
660
978
440
30
682
887
467
552
10
340
937
779
495
410
308
128
154
264
395
418
754
870
977
289
399
563
36
843
567
951
631
924
323
710
630
602
824
335
374
491
835
781
900
520
696
246
520
637
54
52
403
718
747
695
284
666
403
656
616
243
675
481
243
717
567
996
173
815
949
237
148
759
197
825
458
425
874
91
923
779
515
173
23
762
838
719
920
774
216
550
521
724
774
864
775
393
306
100
131
488
91
606
445
370
761
627
660
882
617
940
251
90
182
674
799
54
296
460
15
907
802
78
228
656
677
205
624
82
523
678
528
62
463
961
597
447
850
102
116
324
630
576
493
169
893
807
646
887
895
83
238
213
806
800
594
274
548
688
711
376
328
716
984
247
920
914
150
11
305
173
450
178
4
468
245
783
354
588
108
607
996
612
961
101
44
878
931
247
788
108
456
62
255
715
594
905
665
18
652
31
602
269
987
66
739
931
308
229
67
609
862
126
883
400
665
922
242
194
314
513
187
650
2
96
818
123
55
189
206
853
686
715
213
72
696
257
513
525
537
935
504
97
473
683
342
839
606
877
25
728
153
346
318
912
690
842
306
22
51
927
566
368
158
55
226
512
383
365
705
709
937
319
539
222
398
860
497
331
726
195
157
173
11
686
180
191
780
551
843
60
878
268
741
471
834
618
203
16
134
297
661
747
16
897
118
658
243
841
893
502
810
546
27
815
670
711
98
4
423
90
684
640
325
561
406
871
123
594
297
7
6
459
218
856
379
636
193
392
266
925
825
667
900
712
395
648
448
665
865
871
893
927
768
349
808
497
876
170
116
88
619
644
970
202
473
614
580
561
892
785
132
293
927
548
958
507
373
749
767
932
138
342
49
361
522
646
744
497
309
200
871
664
846
829
104
524
807
612
220
613
952
879
919
15
1000
237
773
943
672
902
971
360
84
274
68
2
909
798
185
349
170
617
949
139
91
444
34
17
147
358
294
757
389
958
371
316
97
414
124
653
85
466
392
838
277
361
415
506
732
59
695
93
936
742
202
627
14
856
629
73
498
426
791
334
432
358
406
89
859
812
192
556
230
500
669
120
840
913
67
552
188
110
482
163
54
648
804
834
188
661
939
328
704
867
544
670
693
525
868
656
91
932
221
778
538
135
315
901
845
882
983
77
664
741
777
773
148
506
545
598
712
678
391
367
472
856
324
933
600
327
532
781
601
11
427
823
492
195
531
143
954
142
836
757
794
788
465
553
480
173
361
689
76
203
232
671
645
596
194
238
68
611
362
934
282
236
162
985
119
67
280
647
318
16
979
736
758
312
964
441
655
33
119
848
275
499
217
820
717
476
105
4
430
15
12
801
441
209
322
26
722
830
598
882
720
56
672
609
836
41
352
814
581
86
662
84
174
549
556
938
610
467
744
562
612
26
582
51
388
667
12
87
880
618
166
57
972
69
555
656
207
49
753
884
677
294
83
216
120
48
105
402
689
783
635
8
558
288
625
345
265
443
454
863
677
250
123
449
561
399
371
317
1
692
963
326
329
167
273
667
809
654
805
783
34
779
484
313
913
167
399
599
130
683
148
18
199
96
138
977
542
452
941
931
604
793
329
176
600
605
697
509
399
481
380
53
963
106
782
677
940
553
373
499
290
316
287
855
266
205
725
25
687
474
387
712
206
79
881
961
187
991
438
758
875
853
275
29
800
114
651
136
707
927
985
262
885
762
413
237
430
669
809
522
877
583
604
983
607
861
712
90
629
528
477
914
660
292
852
79
895
506
942
420
507
666
640
647
717
906
332
753
205
255
547
262
750
43
988
657
262
971
607
491
766
833
233
759
485
771
828
70
897
242
585
58
535
602
971
223
341
308
273
137
564
269
392
483
595
796
404
966
590
945
921
499
447
778
349
399
499
213
972
568
273
690
188
732
820
836
340
876
389
672
300
940
674
682
412
690
499
239
415
448
522
462
714
992
486
577
725
558
632
229
43
287
78
30
886
890
397
794
598
575
159
560
973
446
885
500
857
733
742
249
749
172
302
24
126
783
872
131
809
124
217
126
986
790
977
909
436
597
732
536
82
383
445
358
259
842
973
388
977
128
441
468
32
225
542
889
9
252
226
617
128
937
843
146
373
442
514
343
570
642
407
320
879
721
623
494
693
639
624
542
90
636
447
824
752
439
521
264
807
239
510
329
77
842
479
967
95
605
634
872
592
896
37
405
321
880
981
902
791
335
178
808
894
85
491
317
490
375
737
730
683
176
983
768
956
976
832
450
305
93
452
958
226
919
453
117
751
784
302
736
706
340
615
59
44
448
577
40
387
556
712
932
905
482
414
985
254
313
967
633
609
870
274
645
714
814
129
155
516
2
700
339
146
144
797
814
961
167
631
462
876
943
37
513
469
193
531
170
185
460
164
981
510
999
868
460
169
336
853
150
233
13
701
459
531
732
955
108
902
727
394
955
646
671
682
297
985
856
738
493
477
700
39
884
101
844
985
565
166
246
660
478
285
714
574
711
403
258
428
619
279
485
569
571
874
30
540
724
801
662
70
195
404
287
904
401
5
521
128
160
600
918
7
316
583
187
919
298
91
959
655
37
226
739
214
73
693
694
237
536
389
837
398
929
76
986
383
258
568
596
573
139
775
199
196
953
564
711
496
971
621
330
412
688
414
61
390
211
920
207
174
710
968
278
891
352
973
872
277
95
304
36
640
991
761
510
57
350
452
24
308
251
873
536
302
402
121
863
57
253
24
708
838
644
391
441
722
962
732
371
675
966
585
409
214
955
986
205
870
950
760
835
938
890
998
87
494
639
546
232
218
758
357
918
348
588
269
478
26
195
182
554
322
82
581
336
514
421
90
180
543
735
44
586
126
588
75
752
711
862
383
998
312
610
620
369
259
335
356
628
109
759
631
683
231
810
459
188
114
586
21
724
40
538
909
470
608
961
27
734
473
155
629
62
865
296
593
886
612
149
173
850
906
230
402
3
550
920
819
39
214
355
381
630
58
603
267
685
194
755
773
81
583
96
661
969
383
428
105
318
239
954
894
712
687
889
620
786
672
80
390
866
160
497
31
549
949
392
834
956
105
310
651
361
865
883
546
738
496
530
257
520
311
767
471
533
17
817
246
625
602
609
971
995
217
44
934
597
904
646
893
290
552
281
70
581
158
702
613
933
354
60
900
585
142
380
18
765
966
232
365
981
571
465
624
808
584
951
256
213
375
696
295
993
575
598
423
351
553
349
267
988
277
690
354
323
241
301
436
632
560
81
722
970
900
502
115
688
670
991
717
263
752
19
714
931
119
685
252
308
879
104
59
786
642
837
384
995
613
932
298
21
496
883
507
416
114
958
609
222
611
916
182
398
290
52
153
45
370
928
656
782
448
854
2
480
37
437
422
293
309
7
976
616
99
815
392
136
307
209
609
648
44
855
519
660
290
248
697
110
341
383
951
717
40
463
140
569
651
976
43
573
231
276
21
287
526
59
816
491
755
761
152
560
122
970
691
338
519
388
522
750
700
752
585
837
143
392
362
227
922
767
688
335
183
440
793
728
227
389
524
176
783
502
249
854
791
359
109
74
890
136
142
701
856
592
294
70
445
577
473
874
432
482
635
954
171
332
342
346
653
9
350
266
875
195
578
928
306
208
226
224
391
857
925
323
292
780
520
210
570
546
509
1
51
922
225
664
955
359
537
394
214
652
255
507
41
225
425
138
3
197
389
457
256
668
836
363
146
236
64
843
67
792
308
250
336
57
337
785
853
178
445
364
486
913
611
863
432
600
880
491
318
149
938
617
398
752
452
966
46
881
3
510
654
398
320
732
173
293
109
211
791
638
964
622
669
845
740
311
203
196
276
599
61
938
552
827
83
917
210
941
193
856
851
130
702
906
684
609
674
8
911
135
605
960
698
296
296
794
699
878
625
250
883
878
934
640
851
846
854
407
916
269
692
990
966
669
975
439
536
916
322
326
571
34
593
171
91
415
192
499
314
945
455
115
848
1000
301
936
239
677
713
955
497
873
136
513
216
54
623
75
584
635
368
148
850
899
316
793
807
295
678
423
470
782
544
250
392
590
210
766
11
420
545
104
7
621
442
20
885
347
417
468
921
23
476
430
159
717
650
774
355
176
34
349
643
347
705
472
247
180
663
231
694
382
793
754
885
599
928
694
839
165
241
720
94
186
615
709
542
203
90
673
974
112
203
221
692
330
828
449
355
407
135
750
649
432
390
980
452
614
652
762
935
342
829
505
420
903
209
883
891
780
298
96
762
109
750
235
886
443
240
450
802
460
348
459
920
606
930
91
676
965
990
220
682
855
757
436
557
703
533
240
425
813
908
380
55
509
74
174
201
968
325
342
17
789
288
867
330
965
97
935
168
450
475
792
152
989
680
692
314
190
353
736
411
88
575
524
55
633
859
9
847
549
381
834
212
46
478
758
835
702
344
462
442
630
872
152
142
759
822
890
729
616
827
522
139
543
280
382
712
662
787
731
59
236
741
979
74
291
497
345
116
498
817
533
419
345
518
382
583
574
715
204
375
709
648
723
145
251
877
89
857
782
495
446
131
781
136
916
709
439
750
672
432
128
531
980
180
473
903
697
204
163
189
739
937
749
440
467
686
654
901
749
574
566
782
714
706
178
305
871
833
961
491
271
717
316
801
915
974
941
499
401
444
736
611
151
23
887
402
164
461
37
614
370
838
616
69
142
305
461
863
401
214
837
91
61
930
845
913
287
470
995
850
112
607
410
373
525
234
727
208
31
587
267
311
49
390
445
103
223
121
746
416
893
366
752
560
503
651
911
57
698
262
705
901
222
279
873
634
487
483
150
148
873
821
770
868
404
866
622
920
428
49
523
922
313
490
547
317
3
933
728
498
456
627
732
578
616
988
305
306
588
557
385
523
112
36
767
547
263
184
155
49
545
975
206
308
197
666
923
209
567
398
389
7
888
526
339
629
633
114
549
296
915
941
338
296
63
939
747
46
592
165
127
975
271
314
919
331
903
298
387
786
702
586
970
535
899
863
656
700
288
49
526
993
971
880
167
981
464
54
208
802
686
417
591
839
55
790
546
698
109
804
452
815
572
556
882
141
782
985
189
670
735
612
904
8
793
700
106
794
254
937
634
541
600
467
698
404
184
479
22
424
555
559
91
57
398
732
488
169
276
440
585
236
982
706
22
167
325
373
541
44
600
653
724
80
836
138
94
259
128
92
880
450
44
86
434
282
112
1000
948
674
877
983
644
743
858
232
52
741
41
336
334
781
178
500
878
382
273
177
551
277
128
509
41
506
688
503
720
545
265
64
332
99
396
828
584
270
227
249
426
947
816
557
399
693
697
983
926
853
358
141
857
324
41
569
858
226
406
209
495
700
173
36
977
204
772
153
550
960
458
384
497
678
49
854
528
246
684
36
112
896
536
520
957
217
424
104
416
511
670
830
65
178
326
290
89
236
128
857
378
606
135
496
461
496
32
461
465
87
505
496
319
715
934
123
332
933
882
228
67
144
500
414
194
1000
38
558
602
366
81
565
609
481
29
585
529
872
578
846
232
682
648
828
561
362
300
704
648
62
653
866
233
655
716
866
55
53
352
279
288
355
303
879
752
423
309
952
342
672
887
778
703
217
249
97
702
43
183
841
634
523
454
550
442
434
432
647
429
608
195
201
104
489
331
889
793
169
9
615
640
902
673
645
431
741
875
192
448
667
372
71
225
516
568
446
627
96
801
714
160
90
775
224
810
752
624
922
962
933
746
963
185
690
531
21
721
563
543
302
573
649
575
264
949
730
184
647
668
95
19
713
847
103
243
504
815
253
875
549
744
246
683
674
924
530
563
483
957
896
8
635
401
961
358
257
562
806
994
705
187
587
562
420
801
694
588
797
290
904
570
842
139
35
747
871
414
772
250
679
178
752
286
396
540
436
329
733
939
40
27
418
591
549
695
434
244
876
797
62
525
345
796
877
182
955
92
538
486
358
572
645
899
89
434
7
860
317
571
348
211
343
742
868
365
136
206
119
756
403
255
304
529
123
304
489
695
973
820
175
166
812
381
373
191
209
578
586
726
59
327
116
152
449
371
705
620
301
416
799
978
782
398
680
893
114
813
274
312
205
939
716
845
480
22
628
4
396
190
662
479
383
937
34
814
372
507
683
881
657
416
197
563
552
617
841
893
209
576
851
730
993
587
683
696
21
209
15
740
820
619
159
171
575
16
966
421
116
947
449
137
591
569
130
371
797
412
534
847
229
185
361
230
240
493
604
345
143
142
297
85
676
867
611
539
41
898
767
502
631
782
574
128
631
256
448
928
924
795
451
724
111
633
222
437
996
693
669
787
594
882
961
75
584
619
640
243
105
314
672
279
23
734
846
898
55
873
230
117
677
944
326
996
332
622
138
331
286
498
644
558
402
971
38
430
231
520
679
347
64
326
917
307
9
756
800
580
761
79
225
134
411
103
283
746
584
124
350
512
197
708
31
152
361
309
167
123
270
704
945
45
486
517
624
359
629
863
506
446
377
292
544
686
612
739
437
29
701
189
141
711
211
78
480
690
774
268
917
206
463
572
662
649
767
420
928
565
199
230
609
197
627
435
603
442
665
946
742
470
838
5
596
555
782
36
446
842
440
73
350
890
75
820
537
816
929
206
359
800
525
526
607
511
946
936
314
733
880
92
88
129
898
210
598
577
180
645
109
992
896
415
838
865
525
719
482
31
671
618
473
323
357
513
395
833
343
971
529
502
757
732
651
600
203
447
91
480
562
822
526
656
902
332
137
875
277
643
587
341
675
154
726
660
95
880
49
421
515
968
733
504
510
751
492
374
430
178
582
650
313
801
46
157
184
325
695
549
986
842
346
329
153
503
612
746
754
337
857
640
212
344
983
756
834
777
405
441
780
741
893
919
628
854
974
539
420
732
227
470
894
481
126
356
652
230
37
313
166
955
614
506
853
513
105
240
931
826
15
147
407
659
171
576
341
249
475
736
483
348
529
502
477
906
898
32
104
707
951
524
440
758
151
477
387
123
132
847
775
210
127
303
97
203
139
631
12
474
741
995
927
303
546
367
339
183
202
956
130
305
226
863
669
561
123
502
407
562
998
585
634
691
325
538
192
198
603
328
259
696
403
539
728
177
689
468
357
870
378
691
588
819
790
273
891
63
47
312
520
697
484
22
843
880
823
909
768
85
206
906
339
482
184
492
273
376
402
966
77
46
36
1000
379
161
2
545
294
189
586
964
953
879
404
992
822
896
558
755
63
228
433
613
986
761
822
42
599
754
982
104
361
593
779
324
494
289
287
951
673
679
88
634
424
181
51
541
348
263
543
802
150
477
866
970
486
42
219
866
883
483
642
782
280
719
180
516
321
395
11
135
143
926
367
664
252
906
890
130
74
70
465
524
867
973
687
280
20
880
862
794
179
177
833
383
262
740
2
821
194
338
612
253
92
75
744
854
726
322
499
82
300
367
532
747
993
212
438
395
237
590
477
730
409
263
807
848
485
108
673
109
194
327
985
355
393
353
332
4
713
671
760
288
994
826
574
504
675
354
21
726
94
214
947
822
604
605
439
1000
525
688
10
353
202
860
102
26
857
671
569
713
526
406
305
149
63
639
389
142
104
779
953
504
937
738
465
878
389
372
291
123
250
287
193
366
200
905
903
276
945
456
10
419
40
694
206
783
872
672
344
683
443
901
875
298
832
554
953
38
727
166
929
782
964
433
989
777
824
333
418
672
728
746
357
692
51
162
917
474
16
870
221
424
1000
222
301
774
153
181
717
692
904
388
495
901
807
401
221
265
165
610
149
730
87
531
750
782
896
893
467
367
339
911
321
795
660
650
630
707
407
227
363
648
771
863
517
88
396
495
500
41
821
721
700
551
180
340
298
410
313
672
906
427
205
104
804
469
560
50
393
247
327
605
953
550
233
713
983
211
722
573
190
578
197
364
661
712
144
88
872
813
555
487
988
631
21
551
296
716
14
58
766
427
195
2
422
552
985
477
656
222
299
826
638
593
61
381
728
396
55
162
135
38
761
274
125
423
2
542
733
8
690
142
316
932
432
590
235
229
507
485
641
230
553
809
645
278
339
439
94
788
138
762
831
486
560
910
569
413
198
213
460
878
40
905
15
106
431
998
297
755
298
479
202
832
471
714
188
783
176
971
71
708
220
497
320
704
944
468
864
325
760
447
583
25
973
654
488
216
633
520
121
314
369
483
830
683
498
906
398
946
228
357
974
501
443
217
365
431
377
709
529
203
461
31
561
671
782
200
520
968
868
589
230
773
981
931
561
324
680
692
779
275
220
357
249
172
221
111
168
893
163
828
7
852
469
55
63
167
324
924
814
265
934
486
826
602
631
31
543
256
61
357
685
178
747
800
854
776
444
48
656
344
55
454
855
550
365
567
58
851
444
87
991
224
432
311
695
38
297
394
854
263
327
440
42
447
324
515
888
57
941
161
18
862
126
898
188
985
413
476
172
151
653
382
847
435
845
194
373
510
924
904
565
994
702
260
322
988
688
516
470
330
186
695
488
392
879
646
366
468
86
707
281
946
52
754
858
475
876
766
554
304
164
837
65
781
95
697
767
803
350
440
873
626
257
95
385
41
610
109
945
374
827
604
359
167
515
451
937
673
29
871
753
482
362
237
622
717
494
220
861
219
400
227
898
74
41
345
398
620
26
620
862
845
80
578
583
661
107
337
433
120
440
532
215
54
802
538
204
981
613
163
57
374
552
55
508
540
694
562
119
439
109
679
881
741
551
20
674
288
769
455
392
930
965
170
79
392
192
432
544
416
783
257
747
946
453
529
709
518
353
836
835
353
226
452
285
842
737
445
500
286
240
828
59
759
506
66
786
906
401
995
460
349
106
406
487
131
228
111
674
265
85
319
559
53
498
518
817
293
688
902
926
873
234
527
633
562
600
78
744
954
453
58
419
669
840
715
472
881
289
807
128
186
103
568
318
611
411
867
873
307
37
622
906
103
871
977
273
606
250
610
234
20
765
829
357
152
54
769
257
381
379
99
977
478
221
135
690
273
684
142
946
119
260
928
841
975
346
516
352
736
7
823
575
125
634
765
746
39
518
162
734
784
881
133
186
12
561
407
589
506
379
143
317
179
207
379
168
788
864
205
960
886
305
103
536
502
979
693
911
853
850
276
352
186
364
152
913
474
513
698
301
287
267
569
997
606
864
184
217
747
811
889
664
841
43
777
993
513
327
185
597
485
911
305
593
865
389
179
882
752
942
591
771
653
444
18
919
890
378
846
304
821
184
504
507
250
415
78
842
815
57
176
787
510
452
539
695
757
557
954
20
572
647
523
138
490
191
234
382
838
326
70
81
848
265
639
267
889
1000
363
164
783
884
840
770
769
7
888
625
191
814
118
332
388
66
636
524
578
94
599
743
778
239
917
137
893
551
346
961
175
88
577
627
177
603
710
455
187
42
662
304
869
1000
646
34
520
238
856
64
887
403
889
358
6
364
206
843
851
928
195
597
926
267
966
159
63
74
50
944
857
346
602
80
96
655
533
932
537
9
244
201
118
650
263
777
487
695
164
454
309
100
590
186
374
255
50
848
978
466
477
344
357
681
151
451
264
66
730
49
902
488
581
212
501
510
514
184
810
236
337
455
645
263
323
986
432
983
832
111
352
741
834
838
331
675
990
38
581
570
325
510
854
762
208
4
834
918
566
88
379
525
736
161
395
34
387
18
201
927
268
101
177
397
313
1
310
968
814
813
56
108
979
668
547
844
124
143
781
433
220
271
872
402
243
566
846
628
34
814
736
693
981
368
923
456
823
366
792
607
358
566
725
25
613
485
440
888
318
143
413
849
152
974
936
33
266
439
906
282
86
423
56
850
225
775
712
703
617
246
560
693
676
633
139
121
339
162
930
648
366
1
5
65
158
345
138
177
640
677
200
935
492
668
412
8
106
651
732
176
161
794
266
274
673
871
90
954
647
20
247
179
268
986
76
194
654
126
166
709
781
900
433
153
142
650
794
160
43
212
907
906
257
328
250
494
877
876
594
393
838
628
583
801
541
671
686
929
420
600
281
390
91
301
991
306
920
501
696
257
487
211
821
901
415
895
615
984
475
461
125
416
711
182
486
307
560
223
982
158
603
780
14
884
607
744
804
996
19
391
128
44
883
860
878
395
474
85
557
514
584
380
92
166
493
140
497
416
148
935
984
828
954
854
117
36
910
114
447
730
501
782
882
143
891
984
729
328
477
105
935
880
783
299
576
249
29
96
33
486
415
16
638
59
334
877
764
385
272
915
497
853
101
934
39
388
848
433
936
90
789
92
101
57
892
20
305
290
213
912
532
471
854
625
104
507
460
709
1000
938
67
117
144
717
293
657
736
404
484
746
895
508
474
682
970
591
998
957
891
729
674
100
834
127
675
158
303
983
895
215
445
192
417
257
41
116
594
321
177
443
889
60
999
89
912
825
349
244
736
857
307
878
708
448
822
471
402
784
709
309
304
701
237
399
99
787
416
956
127
104
898
465
730
273
64
504
674
858
513
893
814
776
624
221
469
904
310
490
710
231
394
442
947
609
240
95
697
672
426
186
432
505
274
473
714
451
992
331
644
816
25
671
794
300
985
965
395
703
180
100
517
820
323
828
423
460
489
860
9
237
760
971
521
90
290
94
305
494
695
44
389
1
816
365
120
20
844
843
899
747
768
348
326
756
894
27
674
44
891
350
694
271
504
124
190
504
545
416
691
45
260
249
786
803
509
61
393
257
441
164
301
237
506
878
813
661
736
568
227
867
178
556
179
370
240
776
578
724
522
64
997
650
368
180
886
765
994
41
906
34
540
117
14
549
804
635
670
358
754
68
692
836
105
333
815
538
404
311
979
560
95
539
755
170
966
429
45
897
252
925
416
298
403
319
975
370
192
822
695
913
416
596
510
209
898
169
274
36
896
534
899
417
297
800
616
446
185
944
289
249
432
71
176
397
28
623
335
71
707
109
135
916
305
286
950
782
959
201
206
480
930
105
364
292
328
95
317
201
506
262
939
727
175
216
209
803
626
164
390
341
529
92
272
17
908
203
354
335
814
492
145
190
147
210
485
37
821
45
898
211
182
2
486
157
190
375
844
84
355
664
764
68
871
2
269
719
661
455
638
321
311
544
655
787
969
493
263
855
351
977
167
710
908
603
706
605
79
984
485
126
302
980
849
464
114
660
258
403
245
558
35
812
73
77
740
44
203
229
648
64
203
507
415
54
735
314
39
945
412
299
649
614
710
912
485
449
196
684
680
626
126
52
95
688
199
41
495
984
901
753
852
95
380
375
382
630
244
430
206
677
51
36
234
746
465
249
895
280
252
954
880
647
352
362
930
82
210
896
8
227
465
134
909
750
867
523
474
19
961
785
85
988
729
272
56
214
824
73
872
431
498
312
942
221
598
916
714
72
253
121
516
592
3
104
480
705
146
435
230
406
31
492
830
81
870
587
624
424
398
311
212
721
370
524
785
628
455
507
425
620
551
996
806
942
935
236
915
269
956
712
33
241
131
927
246
729
668
462
166
972
381
536
399
696
912
488
501
967
980
906
847
769
100
614
869
283
853
368
564
383
305
912
81
151
642
975
407
104
411
923
913
363
37
20
538
259
415
692
945
684
484
731
816
85
623
156
804
117
621
280
336
879
737
629
599
102
69
512
533
837
57
434
620
992
424
35
541
546
301
920
580
365
581
556
715
344
768
409
970
34
739
622
505
985
839
828
307
808
708
151
109
338
56
49
350
360
381
403
563
64
266
212
564
768
480
277
222
482
559
540
391
566
943
91
776
76
9
426
137
391
566
228
255
363
431
802
503
553
757
302
684
61
661
72
91
110
527
729
309
781
96
113
409
284
65
856
588
685
466
126
194
298
528
39
355
834
96
354
87
963
894
312
843
164
137
924
983
603
3
545
486
315
505
359
586
145
140
238
678
750
511
503
977
455
780
336
922
900
438
889
255
263
357
723
28
254
527
823
532
243
164
276
300
641
137
702
857
92
758
631
890
128
44
331
843
683
474
58
723
261
137
259
78
630
915
82
702
598
986
410
589
842
537
750
83
744
21
523
936
905
676
685
232
342
323
171
722
357
647
327
152
733
247
381
576
217
776
997
495
228
379
123
904
316
465
691
946
223
564
183
967
294
670
730
187
590
979
201
83
319
394
683
851
62
512
881
993
881
62
189
137
571
919
653
718
220
897
580
28
742
497
296
430
252
645
452
276
999
277
301
149
36
282
577
580
999
952
988
329
151
548
791
638
330
51
652
606
538
437
769
994
714
80
245
288
654
990
821
861
130
630
384
368
14
23
106
344
609
680
683
117
458
638
903
728
614
596
691
564
713
633
849
779
249
550
957
400
101
181
268
210
732
360
984
121
458
391
5
761
844
980
92
451
602
599
393
541
313
132
469
351
938
526
259
589
346
821
919
165
25
645
109
804
748
715
80
693
182
389
886
684
358
636
133
263
480
40
947
545
736
639
272
83
692
439
156
145
332
435
453
431
33
860
226
896
571
125
188
487
773
672
727
77
576
498
410
854
58
647
374
731
485
379
678
67
521
24
524
182
557
763
233
646
506
713
992
324
543
720
689
492
1000
214
610
131
10
317
360
672
598
161
153
47
586
39
515
900
82
557
541
194
337
452
57
264
450
107
444
567
720
90
412
996
475
226
712
644
825
814
648
337
123
612
240
81
870
116
74
803
421
478
193
433
144
128
867
393
593
819
718
56
867
301
472
552
566
327
546
634
661
8
812
924
152
800
116
997
602
558
561
217
515
187
138
155
49
347
21
705
734
605
718
732
718
152
345
196
556
960
443
219
696
791
157
488
665
24
90
718
362
647
808
638
58
89
822
118
417
792
811
583
341
554
45
860
481
693
208
911
54
64
301
733
966
750
907
843
330
67
851
362
174
141
232
716
491
887
838
328
846
726
236
530
401
698
177
84
591
987
518
345
660
993
567
104
928
247
591
591
977
425
271
927
885
657
39
586
297
126
546
36
360
689
20
816
516
868
890
737
714
117
848
772
870
680
479
469
285
741
695
400
319
789
453
224
796
315
687
468
529
987
936
988
855
452
887
389
257
800
942
404
7
459
965
314
242
64
555
54
47
364
558
533
930
777
37
61
542
621
590
501
602
329
739
917
784
217
74
22
754
488
992
727
617
184
170
402
807
752
333
288
850
747
513
625
465
916
747
681
223
605
78
839
325
987
796
293
109
62
108
718
555
798
782
469
438
27
875
496
726
940
358
183
525
95
285
712
135
870
200
443
780
210
604
986
192
312
667
323
485
647
826
366
716
317
563
819
118
300
440
46
206
585
423
948
914
510
638
509
429
927
950
758
629
930
205
393
912
970
501
190
705
163
641
640
154
463
769
957
310
151
253
712
656
817
60
869
937
568
266
939
91
726
794
274
538
696
205
296
199
977
146
559
397
529
67
156
244
841
948
859
181
79
64
827
105
618
275
424
909
146
945
910
341
239
323
311
761
16
176
804
809
4
514
319
958
845
488
873
669
850
936
357
164
696
570
114
856
731
540
662
112
493
923
347
348
5
724
543
411
361
147
246
822
913
197
580
754
93
178
747
518
538
281
451
964
740
245
653
403
835
32
817
605
560
566
465
958
608
830
934
97
801
59
756
183
553
330
921
556
84
572
636
633
711
928
867
811
339
426
95
586
961
123
189
296
570
259
299
662
413
424
925
799
898
475
118
486
805
705
890
240
661
787
449
212
284
138
868
968
522
642
127
9
164
117
258
261
847
544
486
822
541
792
864
1
839
539
855
6
876
135
746
721
150
390
556
651
895
668
311
484
980
201
193
696
438
240
61
305
892
519
289
147
108
518
694
69
825
181
567
994
842
72
459
151
54
424
433
650
756
197
957
200
83
21
452
5
888
881
813
786
703
486
877
413
699
545
888
881
708
578
529
205
441
463
956
360
12
671
574
556
760
3
34
1
140
715
999
787
149
80
779
679
355
841
853
438
105
469
629
707
882
859
525
689
119
874
619
546
991
179
636
963
840
891
43
326
912
919
332
797
51
267
395
894
824
225
34
305
303
97
250
342
417
66
942
824
324
848
31
224
745
29
850
564
574
367
818
918
374
881
62
360
544
252
640
843
61
915
474
840
684
242
916
479
447
360
110
605
48
521
976
408
504
358
669
244
39
68
839
831
730
291
886
274
862
462
662
259
319
474
751
327
541
781
557
346
810
481
893
178
622
485
681
64
936
626
672
434
924
434
784
684
673
364
796
979
945
435
644
260
726
641
487
490
794
954
57
581
934
453
530
626
761
906
317
796
338
139
721
706
878
642
348
169
901
173
549
963
104
553
930
672
113
480
131
712
976
915
685
365
974
544
725
9
855
883
745
788
90
820
360
622
124
776
296
800
875
234
384
424
946
39
398
588
86
779
986
511
461
535
778
801
203
475
991
643
517
68
512
3
358
227
470
835
309
257
775
924
835
337
982
185
537
187
78
196
354
685
488
262
949
455
682
541
645
874
235
644
373
524
101
616
38
828
172
436
616
519
872
972
64
628
688
849
825
859
26
837
303
612
732
169
194
384
931
672
967
991
603
707
110
845
424
714
961
514
981
552
118
935
426
966
397
944
973
214
307
222
449
327
820
377
253
495
987
653
682
838
614
648
572
149
764
516
572
235
340
377
210
195
383
996
86
271
985
398
152
935
949
734
73
523
371
600
54
27
390
20
403
629
198
452
286
188
271
531
812
160
474
728
621
362
332
737
620
604
310
206
349
431
352
387
765
143
323
349
883
808
211
714
804
202
133
251
151
486
256
253
832
958
693
366
330
382
348
410
477
285
444
776
712
50
177
196
409
829
523
34
762
104
742
746
22
166
529
845
675
931
80
532
240
275
565
99
961
516
626
418
594
746
563
36
879
478
807
938
25
466
118
556
766
631
737
451
60
713
321
940
557
672
130
66
311
879
339
517
45
804
786
484
456
281
714
23
695
402
270
137
141
754
636
696
50
30
644
298
464
992
666
357
28
410
367
21
983
852
650
7
680
166
726
83
407
55
819
709
179
419
409
312
417
17
307
769
128
584
88
939
265
746
572
493
447
930
119
887
104
30
467
32
429
746
729
119
209
356
946
90
736
199
297
456
515
276
640
512
401
201
599
508
157
186
792
25
133
888
123
599
931
700
295
643
477
517
819
846
849
101
818
515
624
894
909
785
221
568
247
234
936
631
598
177
938
125
958
871
463
848
820
897
875
536
624
253
29
126
369
52
604
593
573
271
674
801
39
720
821
507
920
210
495
940
623
955
188
354
972
395
210
569
900
944
499
798
629
661
972
992
956
480
345
522
783
417
248
273
471
130
717
106
955
326
810
238
817
740
211
278
640
869
134
539
96
187
764
771
119
315
768
655
468
510
100
223
713
863
464
880
396
819
304
844
727
975
115
647
652
622
211
787
562
178
822
759
225
473
528
456
741
840
616
377
461
81
862
179
832
708
653
818
82
268
89
982
515
204
923
529
918
435
735
395
269
778
782
788
485
414
293
515
427
803
850
989
764
870
651
776
580
818
81
574
794
622
67
132
579
108
53
958
949
555
352
614
612
906
779
18
999
998
198
464
95
736
595
988
336
718
818
310
377
665
914
833
960
930
336
72
484
473
912
443
106
959
588
585
397
36
432
218
607
457
271
113
599
407
669
889
374
308
611
238
888
403
430
644
593
633
977
816
673
678
17
903
509
518
114
960
274
588
46
317
909
378
926
258
931
339
737
820
666
92
983
689
534
207
488
824
956
308
172
931
297
834
781
890
19
556
176
29
878
887
713
441
565
70
705
625
669
582
713
374
203
464
646
210
257
852
245
629
487
650
574
101
286
183
536
61
467
647
285
103
209
368
645
198
831
178
280
64
675
730
417
707
28
193
389
781
530
550
118
655
963
717
936
949
676
742
811
905
138
670
145
140
279
38
769
215
359
544
699
989
53
199
473
882
351
92
631
61
621
28
3
5
919
417
974
102
185
201
866
714
502
110
844
629
992
179
566
925
236
327
882
68
341
737
466
475
896
953
236
899
106
866
739
700
321
246
498
509
35
65
462
807
194
606
284
716
286
311
163
601
284
360
367
171
965
205
345
418
516
718
566
85
632
74
824
339
480
282
778
7
31
52
898
6
246
759
867
588
519
399
672
643
598
770
312
559
939
591
76
102
45
907
797
358
927
933
384
8
224
418
166
141
884
737
282
355
570
179
431
100
106
307
782
117
344
842
736
326
815
280
542
721
404
297
474
660
67
72
384
445
317
856
975
230
786
449
64
98
687
791
434
653
411
510
602
536
800
129
20
95
884
581
703
873
961
845
324
637
985
801
95
450
127
843
590
682
238
416
813
901
712
380
384
331
878
52
747
899
653
821
651
954
622
490
994
410
132
869
314
400
236
697
812
543
544
664
851
566
122
158
242
326
579
400
532
273
424
752
683
978
539
356
224
655
398
715
980
533
245
471
957
526
8
437
820
881
151
877
668
427
25
138
494
552
531
23
800
306
76
663
316
852
842
286
685
51
415
944
259
146
637
215
881
314
386
878
607
412
642
806
896
351
820
653
663
354
845
437
967
828
854
780
832
694
733
389
826
795
918
369
617
449
20
56
627
291
864
392
330
294
489
277
456
289
485
978
574
322
814
406
106
933
916
998
790
809
468
39
40
273
641
452
428
790
80
514
718
963
108
448
535
548
866
610
707
616
184
770
815
335
984
63
265
792
941
320
461
916
928
811
311
807
505
950
310
762
337
100
963
825
968
448
117
976
813
857
69
955
585
702
11
287
626
968
404
286
765
314
422
688
417
355
461
87
573
181
28
552
252
996
19
612
742
805
540
319
656
291
896
241
443
367
355
60
478
407
579
882
276
825
390
535
703
503
654
871
245
548
647
542
581
980
200
807
689
281
302
667
679
146
594
41
420
422
384
747
717
943
378
765
544
925
321
645
312
638
134
926
713
309
934
155
984
604
536
392
788
565
650
123
39
605
997
116
160
980
9
123
199
221
600
218
212
131
745
264
76
304
230
217
658
595
14
952
879
616
84
857
755
113
546
712
938
41
989
248
618
258
794
376
931
16
198
250
134
856
360
235
920
74
597
351
202
683
271
985
549
644
485
452
305
222
883
543
37
505
372
295
634
474
482
71
813
538
457
478
262
117
871
786
913
663
717
274
106
517
502
394
502
118
776
693
661
372
950
221
133
467
993
519
753
990
775
382
610
981
431
256
784
498
80
563
556
290
645
204
222
477
322
253
71
447
451
117
323
800
151
505
71
801
114
150
310
707
362
561
188
328
627
56
512
354
232
918
330
298
5
833
195
397
813
672
276
448
764
285
74
344
966
223
916
30
33
198
745
713
197
663
998
397
941
93
518
269
599
444
489
10
237
763
407
842
433
145
928
21
298
42
248
513
169
431
371
811
959
530
185
179
29
519
801
151
840
214
24
768
325
762
103
852
97
200
186
624
165
148
986
75
764
15
239
832
298
823
447
676
129
180
266
500
175
962
654
243
800
19
538
268
515
558
353
711
401
899
246
572
921
986
163
709
72
373
266
418
362
397
379
21
187
919
211
694
558
295
140
819
986
245
244
292
578
865
73
550
22
352
397
555
198
894
782
631
629
829
385
814
814
360
801
345
800
72
152
48
973
23
851
574
191
396
635
927
816
606
546
276
141
234
488
751
979
387
886
844
907
898
751
73
766
292
157
739
532
587
707
13
627
818
116
47
19
622
407
526
263
373
550
851
737
94
612
167
885
854
587
566
251
398
133
93
450
558
377
628
970
349
804
346
910
749
987
180
318
850
590
674
781
467
645
657
343
297
553
413
582
409
682
410
935
207
673
195
940
968
792
755
87
751
759
510
425
753
465
113
866
160
943
390
397
185
723
111
34
216
487
717
431
993
501
807
475
269
901
960
114
688
303
424
875
508
596
320
268
357
988
240
308
423
584
586
894
354
802
526
682
677
934
200
393
717
19
689
188
847
999
311
871
402
803
991
208
728
629
832
554
657
157
510
335
170
884
779
652
116
65
232
447
648
955
395
184
462
209
411
999
27
310
846
596
723
842
596
969
226
282
497
198
535
718
978
122
731
602
44
741
968
160
933
527
183
605
16
674
732
650
928
505
477
104
420
877
851
549
162
423
94
164
550
939
137
798
607
13
612
271
226
259
46
738
325
156
615
633
982
542
747
385
224
282
447
591
980
471
490
798
627
833
515
400
659
624
596
381
321
456
122
841
393
925
659
252
961
848
999
428
684
183
795
24
986
442
26
179
647
517
5
631
434
338
837
197
819
732
4
43
303
183
258
559
550
917
81
998
362
898
799
227
506
855
829
102
535
448
649
991
47
7
833
922
274
74
881
680
498
153
638
931
553
650
829
115
593
966
579
411
385
123
838
557
600
88
316
686
997
172
848
628
897
496
147
301
72
543
517
958
32
219
431
997
683
721
843
24
519
695
707
607
833
867
487
941
899
335
338
233
735
200
260
179
838
73
764
320
229
239
476
452
273
979
698
476
973
597
129
263
881
211
837
177
324
242
104
845
394
872
935
693
23
397
880
485
515
571
308
871
107
517
420
475
479
728
108
622
673
9
223
166
501
943
948
232
402
627
734
881
650
959
711
865
972
715
566
652
914
39
620
857
772
717
258
49
467
787
907
684
552
644
496
553
423
736
659
698
902
416
42
253
581
237
676
8
709
252
796
814
940
455
422
112
982
535
713
986
1
531
397
144
701
836
532
123
125
192
520
858
566
13
515
462
467
381
349
695
803
560
670
144
257
691
223
565
427
646
144
212
443
666
650
192
586
499
760
89
972
259
542
145
902
80
896
253
223
9
104
918
943
209
165
117
362
729
484
666
217
576
605
342
646
756
491
460
348
310
336
68
932
70
988
188
306
37
884
815
926
831
771
447
859
593
644
26
928
130
30
49
621
821
170
503
99
6
718
7
355
143
265
217
525
38
409
108
421
804
69
234
579
51
482
433
509
988
606
739
378
743
707
452
59
226
497
413
326
287
572
544
6
758
791
622
37
196
925
55
751
800
130
190
135
25
770
269
495
869
694
719
724
680
296
891
337
598
645
704
527
413
467
920
779
729
20
934
976
785
768
10
527
193
274
911
765
161
923
692
746
460
946
278
647
525
674
71
140
587
143
496
475
674
960
852
535
636
801
257
780
98
64
824
824
393
930
368
383
73
573
145
444
551
306
97
832
799
225
60
771
801
307
227
665
610
974
905
72
493
859
289
776
568
868
511
919
800
693
729
411
984
554
375
201
552
373
985
550
684
499
209
137
182
805
721
703
41
275
728
921
436
170
705
386
110
456
798
909
803
510
60
802
381
993
299
483
810
411
893
489
978
129
316
991
627
478
519
957
346
193
529
402
657
595
795
587
715
853
913
575
26
133
271
313
915
664
104
289
158
597
176
842
321
982
49
422
861
407
454
450
988
594
812
926
589
759
358
620
285
627
631
498
824
799
321
21
560
586
604
78
736
535
106
634
652
583
615
591
556
226
471
8
298
109
356
545
338
180
831
942
727
920
567
418
31
182
663
95
8
868
849
946
41
2
636
310
932
763
675
722
708
695
708
650
498
602
447
752
373
648
683
441
296
735
723
854
958
582
950
819
332
811
982
49
242
959
409
565
104
582
519
344
254
513
819
240
983
899
357
539
454
857
50
893
180
474
280
964
638
366
979
860
880
255
341
286
740
803
24
430
315
481
478
776
948
390
548
378
846
754
81
692
820
285
623
664
346
722
638
664
324
663
899
789
436
181
818
220
972
873
550
601
375
698
598
866
480
359
555
549
661
83
312
346
626
319
785
676
629
286
719
985
239
304
651
851
617
553
468
259
478
205
283
23
477
927
559
987
850
347
492
514
504
428
678
788
622
644
2
609
73
476
502
695
566
17
679
986
533
423
361
79
204
535
765
728
163
233
841
267
991
992
330
959
240
685
219
504
92
864
455
363
521
648
822
159
702
865
872
101
684
276
691
305
67
557
42
910
538
206
144
84
637
709
927
392
45
80
121
486
35
386
935
763
456
983
412
453
753
945
768
588
116
632
131
434
759
424
179
265
737
380
57
805
451
9
863
283
187
386
698
782
605
550
972
519
93
530
198
730
278
324
2
96
825
890
442
13
814
507
23
569
641
887
979
774
391
65
506
464
52
404
621
296
789
9
232
434
719
485
843
835
292
234
11
551
411
430
328
67
908
398
214
514
840
374
284
550
336
530
345
773
428
681
401
842
346
355
147
859
285
734
539
165
507
517
978
428
976
961
539
773
428
162
451
791
854
162
745
399
958
604
560
950
25
486
120
443
991
7
806
405
245
635
53
789
831
312
36
267
286
119
234
392
275
849
998
421
593
654
197
32
840
352
848
781
260
35
414
888
827
331
94
901
645
55
21
808
120
1
716
450
167
315
582
438
926
241
455
338
79
2
462
594
855
273
501
496
282
961
700
528
32
27
77
597
470
656
490
970
167
401
651
217
160
838
623
111
745
862
766
225
405
14
511
904
780
112
728
413
253
42
665
330
794
758
641
627
231
432
715
535
953
206
520
936
427
196
369
973
539
232
480
596
958
316
892
942
177
934
231
834
872
169
988
179
495
25
380
716
803
494
199
392
147
679
255
628
903
721
166
871
372
369
269
125
877
762
389
592
506
436
32
188
159
576
331
432
142
304
732
137
521
107
990
416
848
594
487
732
696
417
296
119
619
549
686
234
778
100
949
628
503
517
546
431
477
310
563
714
59
421
370
918
519
976
225
90
584
430
245
132
747
54
836
919
282
306
181
925
710
877
846
957
802
98
907
689
816
954
244
976
813
181
835
304
321
782
921
364
559
813
912
419
726
521
765
43
544
688
361
860
380
603
104
101
802
182
543
153
319
602
360
792
407
254
429
459
678
966
23
773
152
207
419
420
192
425
317
757
581
766
505
698
610
162
161
947
796
179
3
226
58
84
297
913
707
298
348
431
665
772
694
797
660
858
698
962
990
937
591
998
624
384
325
674
60
474
791
725
339
468
27
915
66
437
80
69
131
344
72
355
18
522
863
480
301
983
384
898
909
889
406
801
262
163
978
438
192
403
275
256
868
218
879
484
615
630
848
21
584
421
4
911
728
165
14
290
453
219
760
372
585
131
407
978
10
763
333
131
482
924
814
437
580
454
916
342
742
537
592
859
639
441
355
36
875
51
235
238
160
308
963
344
651
118
423
38
110
381
478
721
891
526
204
980
549
373
414
190
27
161
131
561
976
325
282
876
727
975
508
236
870
45
430
358
143
770
72
374
598
507
487
588
579
880
751
403
102
914
647
419
626
108
345
787
61
386
277
2
77
463
257
717
441
467
599
565
154
560
618
678
608
931
431
355
867
749
442
269
436
575
208
757
544
312
658
935
88
955
805
860
832
303
136
497
382
297
864
989
734
871
76
630
934
999
638
969
460
144
364
675
495
476
586
157
165
3
768
443
155
266
190
484
858
334
80
888
351
635
765
51
48
592
572
814
843
113
213
40
908
743
370
991
91
682
990
951
33
937
627
339
707
581
755
451
68
486
593
64
904
904
450
342
773
964
945
901
125
489
794
417
321
544
1
848
273
771
427
240
876
868
678
43
214
571
206
93
762
57
296
675
491
36
366
635
759
682
608
75
414
164
565
25
338
785
657
381
952
643
25
541
889
270
330
421
108
950
273
950
223
259
718
712
703
921
214
165
926
243
650
708
740
246
524
949
343
96
8
714
774
597
607
684
256
309
691
84
970
348
598
481
549
998
342
617
769
94
147
143
420
541
196
287
339
422
990
763
927
917
672
701
238
643
520
957
935
73
553
940
960
447
869
23
754
911
897
655
303
682
223
531
16
723
12
592
718
712
368
116
606
156
127
918
71
71
706
498
684
39
620
997
504
358
211
997
101
654
906
520
302
593
100
59
773
279
360
123
957
476
164
565
790
100
887
896
852
269
29
946
335
802
991
415
230
252
825
365
696
437
474
205
391
961
994
495
932
398
107
776
276
665
242
656
992
578
912
618
879
788
853
332
329
42
890
806
150
236
869
341
328
810
337
113
323
834
871
171
77
563
81
767
838
327
343
260
299
370
284
249
294
662
861
228
491
755
649
788
95
490
604
347
562
699
152
426
723
123
902
748
531
400
675
814
813
367
842
152
88
871
125
136
456
973
137
140
59
722
937
786
401
641
775
222
76
694
47
710
88
787
162
237
14
774
706
562
687
542
765
849
989
997
762
39
561
672
486
155
961
235
246
80
842
395
255
680
255
581
405
791
32
283
581
275
546
146
523
255
819
726
51
689
101
353
151
621
515
642
11
835
343
67
618
114
815
417
926
15
31
133
919
859
784
253
143
636
597
160
356
671
253
409
62
164
459
638
542
193
56
19
939
362
353
700
629
41
777
460
820
66
973
142
879
839
934
465
335
11
494
504
933
292
777
452
348
506
753
310
400
698
126
756
696
940
160
797
618
531
924
746
510
415
629
709
716
2
430
14
853
23
72
996
328
734
232
95
660
519
286
495
573
950
493
443
230
429
242
924
171
814
131
597
740
856
114
776
800
830
830
753
543
499
580
944
71
423
72
209
212
659
197
150
713
128
624
375
589
251
904
527
851
993
136
310
320
94
955
917
481
130
790
994
610
990
830
737
504
522
175
804
191
371
924
472
942
509
806
867
745
531
68
151
182
586
969
291
259
709
181
369
382
400
819
448
63
542
605
697
387
106
899
778
527
670
919
561
771
464
517
821
671
492
290
919
875
333
644
437
156
359
659
321
948
442
272
416
416
718
308
176
756
592
395
929
896
975
615
330
273
692
51
546
660
102
48
252
314
247
89
760
835
243
692
449
232
223
599
230
641
864
869
907
26
414
165
205
992
191
642
665
497
709
388
824
910
967
262
843
289
912
333
269
234
805
854
706
947
996
840
951
363
635
897
601
353
948
872
211
31
40
293
841
141
594
317
229
340
482
78
881
969
43
938
104
541
695
84
352
754
659
376
306
316
762
82
794
234
693
398
964
523
651
238
177
467
968
806
690
670
221
896
527
145
278
684
910
587
974
25
242
811
372
920
883
39
73
851
949
367
693
158
895
276
384
492
951
474
244
628
314
747
583
645
632
701
237
508
471
476
576
618
367
561
418
770
573
827
765
267
802
760
218
654
110
663
921
629
559
312
108
228
449
116
692
312
716
353
820
682
585
478
12
938
633
780
322
302
261
934
923
188
963
81
687
288
888
136
592
249
929
958
261
851
2
849
538
724
192
627
761
252
203
166
329
289
903
873
210
719
770
19
290
666
763
269
848
420
438
985
965
696
178
128
411
909
11
619
373
573
832
88
428
720
797
803
321
543
277
411
429
48
54
849
291
602
352
390
202
680
908
355
672
16
527
450
507
605
456
25
359
694
502
828
876
982
1
977
982
729
637
932
405
388
638
249
298
649
48
742
682
524
635
502
498
184
460
880
233
805
329
166
461
596
125
193
146
508
482
495
219
879
422
980
764
402
310
299
156
365
939
213
580
46
651
315
711
559
135
374
745
161
954
468
595
239
911
763
823
781
75
514
806
113
675
402
690
73
70
790
949
616
727
887
720
37
440
69
644
610
48
806
661
482
550
760
20
59
829
588
831
978
164
935
594
985
321
891
542
692
312
919
24
233
827
899
888
295
939
446
530
871
939
137
297
354
50
597
988
253
331
666
486
906
306
34
971
69
707
778
720
111
275
243
260
909
720
542
510
183
797
791
586
166
958
831
164
19
170
835
634
302
325
677
804
189
116
355
565
802
388
81
775
237
732
874
587
358
547
627
576
442
878
631
344
72
74
529
698
487
725
458
127
751
396
961
43
697
396
846
205
578
163
792
780
781
930
937
760
713
959
83
815
245
16
432
231
631
737
963
257
917
196
653
62
239
288
752
513
236
512
245
130
83
358
427
935
253
789
262
376
186
219
819
129
513
18
615
411
321
785
131
353
236
547
134
107
773
616
660
624
479
27
722
444
889
368
818
439
213
336
340
147
965
543
828
262
470
924
816
860
269
614
709
149
7
296
717
897
261
851
401
186
154
582
760
829
295
438
153
602
762
405
520
419
371
707
544
729
452
505
405
699
719
579
724
193
558
827
148
183
288
534
777
966
473
21
301
496
417
701
279
206
296
575
462
943
259
890
447
998
972
25
239
784
744
662
473
407
350
961
175
221
143
757
911
485
825
775
125
398
528
465
235
126
496
362
833
898
674
775
923
908
25
239
683
531
215
381
691
330
599
772
873
426
103
882
728
73
700
489
495
689
652
749
54
186
581
666
263
155
752
898
366
352
647
653
869
5
18
951
968
605
149
656
224
261
952
517
681
167
884
907
41
426
401
66
805
282
802
457
538
804
875
244
537
203
728
28
209
250
515
695
424
718
595
645
935
384
768
738
740
868
886
994
898
534
68
465
885
738
189
723
58
922
73
99
171
487
69
133
159
870
265
706
620
987
653
979
520
46
948
565
620
737
626
324
95
10
967
809
564
926
550
658
531
594
678
147
832
815
693
750
228
868
985
756
734
804
783
920
620
732
485
682
260
851
370
702
189
380
25
321
779
128
717
108
927
181
227
817
20
55
405
931
246
724
771
460
974
119
63
818
582
61
498
415
560
104
911
53
160
411
621
362
180
650
41
262
674
845
615
886
527
264
597
502
874
730
559
686
253
185
306
436
282
930
9
951
356
756
10
542
539
65
679
471
419
189
143
592
113
317
500
323
45
858
314
817
365
572
845
216
101
544
438
506
200
909
974
817
657
240
73
962
806
712
6
648
700
441
909
49
197
916
954
389
18
46
561
763
580
163
646
655
841
267
116
557
748
884
559
597
124
207
91
360
18
581
885
897
568
974
736
504
439
823
368
989
756
500
861
15
248
729
720
597
3
444
604
976
839
959
667
914
802
834
822
916
705
474
916
3
956
335
31
440
113
597
604
265
785
287
65
543
482
137
32
31
995
920
888
327
721
595
722
643
99
372
226
76
2
721
105
576
476
416
957
896
705
951
401
449
455
44
414
363
536
483
466
6
22
290
56
919
46
9
688
397
23
949
152
930
39
389
207
331
967
71
431
654
614
769
24
960
798
403
847
546
825
920
794
541
253
134
916
624
195
820
359
238
658
621
269
842
577
742
316
629
285
979
369
691
100
377
171
752
634
671
559
470
182
746
890
783
243
505
868
941
857
940
876
662
896
677
251
328
900
943
702
259
350
756
186
861
485
62
126
915
927
753
814
324
372
732
198
424
599
673
28
319
851
726
513
814
423
184
214
193
947
19
911
479
437
320
542
846
605
846
159
519
389
333
1000
868
856
711
445
357
902
111
598
718
203
371
703
967
945
797
400
900
704
65
95
297
722
510
337
341
507
506
183
720
341
297
945
431
805
405
610
590
872
735
488
432
470
550
315
242
674
804
110
210
840
702
610
10
78
942
960
503
402
840
657
100
817
411
470
172
357
512
137
407
792
394
192
151
316
317
183
586
54
432
887
55
594
787
857
989
112
130
787
639
863
194
736
273
920
250
202
581
137
37
403
775
171
608
904
285
337
249
886
990
750
396
957
672
914
369
366
719
468
848
925
150
277
225
679
729
431
371
633
235
13
876
431
14
669
557
894
525
136
843
776
968
871
702
906
981
843
899
147
76
361
743
214
723
544
931
497
934
662
742
429
805
115
648
858
697
261
322
130
664
647
162
252
277
458
700
621
214
161
687
269
875
382
203
468
773
29
912
863
680
563
419
991
306
91
780
153
821
659
374
149
664
714
725
294
891
213
383
470
797
267
608
713
645
532
466
976
137
759
896
259
682
81
471
265
606
626
838
78
211
980
311
180
970
913
662
239
228
479
941
737
480
320
64
452
674
522
987
248
14
876
510
383
426
767
159
796
181
201
110
405
187
665
850
513
85
625
100
810
620
474
562
311
715
626
190
801
290
315
54
13
161
335
297
801
270
626
361
46
117
106
441
885
470
645
64
126
378
369
816
391
36
772
483
614
285
275
310
1
398
919
650
465
329
859
988
850
791
230
249
947
366
704
313
461
345
768
875
554
159
367
127
560
61
32
293
791
189
31
649
62
267
433
567
760
964
130
24
792
385
74
217
714
254
942
183
735
74
457
786
11
991
379
40
866
112
982
484
142
766
467
288
856
567
339
771
764
141
250
324
218
112
177
55
904
229
117
58
683
555
640
880
763
263
771
642
854
919
651
255
806
79
353
373
454
651
49
18
49
762
434
309
700
799
946
382
722
875
883
337
620
234
910
51
750
1000
844
751
349
244
847
558
699
542
296
574
722
97
695
713
140
997
960
167
696
388
276
312
588
158
521
888
418
264
948
496
458
938
407
811
978
855
893
406
694
801
625
790
154
489
174
31
13
976
376
381
700
530
910
393
940
936
443
382
972
921
193
457
41
836
604
32
955
753
604
423
58
865
532
111
972
457
445
278
844
728
941
491
648
442
44
775
295
715
964
878
913
260
758
207
692
47
989
791
103
641
521
642
137
485
454
23
459
961
69
503
1000
382
334
121
572
996
185
639
560
647
308
655
575
29
601
289
267
331
850
278
137
651
392
563
290
784
717
867
556
827
4
365
292
601
596
248
503
75
256
877
593
794
873
293
213
830
944
7
156
926
784
387
190
315
905
450
74
136
420
547
697
533
653
250
471
276
337
721
619
170
952
15
7
627
743
10
467
527
939
166
404
867
524
863
591
793
664
884
675
295
575
490
905
248
150
628
970
474
182
32
658
224
347
389
235
780
452
241
76
912
592
58
87
547
13
700
896
340
428
565
599
780
490
849
129
114
911
673
910
623
473
338
564
738
754
576
839
60
996
474
847
613
928
705
929
541
731
785
163
37
588
367
603
500
413
966
837
786
426
125
339
959
219
729
390
114
824
68
64
699
95
331
869
258
409
345
177
670
265
793
483
759
897
631
877
633
416
77
857
213
301
407
733
217
296
750
459
257
908
200
657
856
708
903
982
879
610
173
723
316
141
333
755
400
455
727
484
760
534
272
466
682
552
985
741
572
897
173
756
420
665
324
918
379
791
330
486
584
128
331
475
997
894
342
719
349
940
849
41
245
150
701
732
95
154
985
187
834
231
14
592
307
911
238
13
801
316
637
113
458
758
145
979
177
398
734
230
211
88
69
654
859
637
35
105
512
827
55
310
890
478
807
501
418
732
865
535
604
528
816
242
731
911
616
293
336
435
293
790
782
423
640
103
665
242
170
257
935
87
484
264
394
981
122
395
650
839
175
311
717
462
159
362
185
279
158
109
289
525
817
322
272
243
544
278
149
227
189
174
343
536
560
869
712
705
336
967
145
174
364
463
274
701
840
790
818
760
591
119
750
1
518
202
778
848
297
861
594
254
566
496
979
406
190
603
111
931
655
346
387
764
281
717
617
395
749
636
752
622
373
648
153
331
664
536
9
21
2
261
716
22
628
108
886
357
760
848
208
209
383
996
553
833
106
963
554
517
576
20
398
924
95
515
716
696
474
690
260
762
646
802
541
159
259
979
694
515
251
395
654
559
442
877
110
151
273
64
860
382
141
535
865
183
221
163
762
815
267
63
634
268
656
151
533
355
863
258
656
770
604
180
82
915
145
839
666
650
650
916
37
403
981
968
619
298
73
26
282
18
854
122
516
165
697
10
979
752
568
608
932
318
334
293
298
836
215
283
65
271
966
758
312
111
179
260
399
712
72
156
758
575
186
676
296
988
729
46
613
583
683
803
126
456
390
214
723
446
54
59
738
75
484
732
899
412
450
724
373
837
228
90
223
267
248
407
346
914
303
75
502
56
411
564
77
627
277
317
86
640
266
623
302
601
932
688
497
100
473
513
555
719
880
975
585
214
206
645
241
743
118
500
171
494
803
652
886
711
416
615
366
531
425
439
406
468
679
251
51
626
474
334
460
958
682
939
193
950
799
400
230
130
816
993
983
725
968
211
210
571
755
758
984
154
100
632
834
236
158
124
754
101
57
412
18
879
845
715
651
745
990
638
965
65
44
430
774
713
529
354
795
847
639
278
245
412
120
891
848
508
549
654
301
567
291
710
737
949
627
509
890
186
855
810
472
605
744
78
726
453
332
8
260
999
923
88
32
278
98
623
793
291
698
633
397
505
42
390
109
443
70
126
480
997
736
630
374
856
714
23
503
104
406
1
140
601
334
228
748
248
200
357
940
600
303
367
507
601
552
533
279
371
989
342
203
116
630
104
365
205
404
864
626
380
167
407
162
887
86
863
507
34
166
394
587
313
333
977
866
754
276
104
946
638
213
522
867
22
838
808
937
801
973
639
106
184
880
135
792
541
745
529
578
522
581
717
409
279
707
967
732
343
965
164
534
469
75
498
374
307
858
415
346
283
584
14
324
499
365
768
13
744
344
631
76
969
395
137
54
677
223
26
890
739
997
342
596
76
148
684
39
502
534
476
844
767
962
720
157
522
954
656
364
469
745
189
905
451
694
699
994
618
733
91
406
66
962
545
479
577
237
456
153
156
448
447
147
76
192
228
362
58
702
256
227
21
254
837
951
567
718
339
622
4
570
657
634
214
493
929
234
162
617
767
808
154
569
966
161
218
773
696
206
151
841
725
362
833
489
68
525
386
136
781
600
634
222
337
473
104
349
109
776
520
523
24
954
301
145
382
957
120
919
143
342
973
492
757
693
512
488
731
51
650
563
694
460
559
265
668
866
198
752
630
299
498
889
208
728
137
850
537
990
612
109
891
943
967
621
676
346
128
76
781
14
223
331
97
452
692
535
176
558
262
965
682
930
27
336
244
10
23
180
787
576
651
891
245
79
228
248
776
932
765
481
273
149
788
512
6
640
661
555
680
102
382
126
63
649
288
415
628
251
458
98
288
617
813
934
430
349
145
901
914
86
306
197
609
885
805
184
346
255
917
213
855
114
220
335
396
442
133
91
295
531
657
930
518
572
13
328
773
760
286
332
348
251
487
98
39
37
702
956
96
289
88
689
41
773
534
981
597
718
749
486
744
884
377
510
60
679
497
135
142
856
537
466
829
716
180
800
402
747
333
737
698
347
592
631
303
583
938
331
589
968
585
867
406
860
992
575
628
434
64
196
625
100
490
617
942
900
948
281
128
678
673
754
708
746
484
581
738
374
911
357
266
674
513
885
271
345
816
412
345
311
555
176
470
500
80
939
697
891
830
739
484
456
771
826
699
859
571
655
39
554
65
825
714
474
252
68
756
628
682
752
273
734
581
869
265
495
475
140
370
228
391
711
69
363
947
883
415
721
764
465
300
621
656
623
670
571
33
551
829
718
763
916
191
307
504
752
376
78
208
436
590
943
11
434
563
276
248
736
175
868
683
300
78
913
344
346
244
393
525
76
383
912
651
212
619
279
670
782
630
182
571
760
688
841
434
462
724
865
141
101
525
447
520
549
703
612
211
131
882
508
994
226
852
611
679
576
105
276
889
450
247
306
250
222
280
39
558
527
635
31
470
861
143
554
139
382
836
4
19
736
581
782
731
912
91
389
499
475
746
268
167
85
32
395
210
812
110
755
481
658
200
601
650
598
991
840
432
672
279
978
723
877
357
788
713
117
490
310
905
45
968
797
690
401
801
972
840
366
144
337
794
538
891
266
123
355
716
357
934
178
36
785
238
807
958
474
532
883
354
496
908
491
556
449
49
304
72
518
332
766
907
556
124
128
747
782
53
658
310
654
668
963
620
40
447
154
835
67
551
552
518
940
65
730
931
576
730
940
994
98
325
402
75
138
932
520
621
401
280
791
7
132
260
81
616
982
465
997
350
240
336
250
224
581
50
289
678
274
838
996
538
245
790
880
316
553
552
63
674
573
519
309
437
636
291
494
487
970
154
207
250
517
314
633
241
615
479
449
327
602
82
257
926
89
169
979
382
49
487
717
126
884
808
817
35
307
907
256
636
248
881
25
376
941
701
874
238
66
989
640
378
58
6
402
318
734
761
859
448
938
955
674
248
248
213
984
686
682
671
937
713
941
537
895
634
980
664
898
403
599
561
88
579
303
471
60
746
893
360
522
702
134
678
219
615
353
772
814
635
39
673
297
179
317
793
549
207
689
744
878
320
594
93
709
458
133
384
107
300
764
144
512
191
937
932
845
601
347
703
173
637
998
885
220
112
287
619
340
25
122
522
970
88
459
230
255
99
703
684
225
560
161
814
885
903
71
836
619
122
788
845
549
362
368
767
883
265
161
40
822
474
996
541
303
693
196
435
711
171
2
567
695
284
892
976
405
118
971
899
792
640
831
366
84
45
249
126
187
382
657
156
587
371
594
475
219
631
223
317
939
204
576
975
456
338
393
785
10
991
313
810
669
404
672
709
833
395
376
217
433
751
148
397
347
171
936
542
761
780
439
204
573
120
501
320
403
885
606
830
517
396
810
489
717
950
240
794
296
743
721
108
249
16
174
45
263
440
183
183
415
523
538
969
165
11
607
471
941
816
106
271
582
16
237
373
936
849
140
467
177
449
341
276
765
239
193
986
534
564
301
971
96
116
585
107
582
167
951
984
783
439
486
227
903
685
729
965
467
702
845
201
416
551
475
474
41
204
588
731
226
721
971
785
387
315
822
56
649
354
543
580
6
408
983
415
684
978
306
627
459
387
141
46
448
675
895
828
747
983
921
676
357
94
753
231
34
247
748
777
47
342
316
883
351
913
358
37
340
51
666
623
186
558
812
828
735
180
502
201
83
741
437
613
228
336
493
306
676
529
424
576
457
683
352
394
774
108
29
918
456
735
220
413
405
390
593
601
527
570
179
794
961
797
820
496
9
287
987
319
845
644
50
180
954
743
357
730
249
805
449
891
992
871
377
199
976
578
351
349
886
139
884
7
430
933
198
448
568
941
890
60
195
559
777
63
658
974
380
98
820
398
733
440
748
907
80
714
723
582
538
929
961
882
2
540
352
956
396
34
559
659
879
220
997
602
777
21
622
449
792
34
899
55
544
583
63
736
592
274
550
126
875
280
499
642
944
756
332
503
444
760
749
637
65
60
880
580
558
995
983
634
504
376
825
152
217
12
780
784
535
62
805
943
300
867
624
517
992
281
890
107
330
850
608
621
650
326
813
152
534
150
357
421
448
504
658
952
143
478
451
359
171
682
892
775
157
383
854
513
405
865
891
499
5
245
134
872
843
423
352
453
840
195
481
405
292
815
236
547
398
434
794
232
945
944
137
617
640
700
371
445
758
487
220
173
637
878
945
385
17
831
124
964
403
966
112
412
421
458
476
36
619
917
407
484
263
915
906
216
484
71
544
94
549
712
713
196
119
177
603
351
124
776
570
635
254
242
172
275
157
314
922
964
141
689
716
596
536
208
961
818
911
574
695
606
41
294
326
263
820
835
204
874
353
145
931
256
99
828
142
869
231
228
553
6
370
625
191
788
458
531
81
163
817
818
125
148
368
38
568
8
591
815
208
938
41
661
488
80
137
874
708
382
512
489
828
899
417
347
803
612
552
473
924
736
219
891
382
814
875
902
178
570
23
623
520
623
838
296
55
695
126
456
658
845
976
565
993
629
977
116
729
791
947
557
141
259
944
562
778
771
725
357
47
391
948
810
829
568
114
944
712
147
698
397
26
916
931
79
631
865
458
968
312
309
419
528
741
442
573
726
167
669
741
990
399
285
195
741
185
689
623
338
799
309
932
343
488
901
492
47
462
643
363
100
267
757
676
899
704
980
635
112
959
291
507
362
214
746
596
607
834
146
410
220
153
508
165
89
6
35
301
353
398
300
915
512
143
917
894
745
847
797
46
226
394
457
720
115
911
503
239
687
303
556
977
759
600
392
67
155
727
11
506
485
843
663
944
889
27
607
502
747
937
546
804
556
60
179
784
328
266
334
975
859
730
460
693
219
688
54
949
609
125
760
979
516
244
475
10
744
504
772
223
483
57
355
930
20
667
61
658
123
597
123
172
365
449
41
453
881
686
406
339
142
398
475
794
330
893
89
790
802
866
821
353
977
215
824
659
666
63
956
961
523
186
173
718
824
822
85
590
210
814
799
794
398
115
891
949
113
982
397
699
641
567
223
301
491
216
273
889
623
509
865
313
555
957
761
280
493
323
201
36
274
736
894
969
543
108
816
338
76
900
14
779
574
933
344
377
567
772
236
863
302
197
95
939
611
403
950
805
780
870
285
736
412
301
787
937
93
620
907
978
441
787
717
823
795
118
540
824
321
864
212
121
844
21
659
516
49
763
650
276
7
408
238
304
157
531
380
750
989
701
696
480
670
336
125
755
759
318
495
107
991
362
661
687
822
595
931
269
57
446
926
718
424
743
927
938
399
856
1000
263
925
851
873
773
949
845
637
264
824
220
815
448
727
884
250
511
191
530
548
326
751
714
554
453
470
624
407
582
807
612
278
199
917
918
813
80
917
518
614
680
138
718
869
611
636
914
349
166
486
948
565
309
538
601
840
601
284
77
381
331
501
772
264
463
132
242
350
136
648
17
815
106
776
865
876
941
76
164
781
786
278
256
857
188
719
96
668
842
473
986
921
100
964
939
801
717
966
51
813
670
884
261
81
796
127
86
249
650
201
188
819
260
865
164
773
377
346
567
819
414
121
930
430
529
217
587
151
188
362
106
298
121
514
486
271
786
535
633
186
347
754
248
428
675
231
959
38
86
330
435
525
371
50
261
858
148
236
544
861
743
392
599
198
614
310
536
444
776
180
292
508
834
109
429
771
5
242
22
908
914
794
109
281
88
337
440
171
785
620
740
891
204
78
294
982
188
900
422
295
255
225
345
753
134
569
999
945
60
95
601
573
702
685
154
904
15
74
621
65
232
509
188
982
913
470
926
224
262
10
122
841
884
196
774
515
781
907
27
990
671
23
829
810
632
623
723
843
684
381
480
930
149
758
229
277
553
968
846
879
365
936
632
352
128
623
723
36
355
161
248
124
138
239
998
885
572
16
230
737
959
671
303
69
233
349
18
200
212
900
916
815
106
282
270
539
131
927
201
44
269
677
173
252
919
141
77
710
678
409
282
227
547
158
314
160
620
67
265
568
705
348
654
586
398
938
222
986
848
557
44
850
803
406
457
702
573
761
482
242
240
95
850
13
749
624
262
977
558
411
222
973
135
217
631
467
934
313
351
839
428
382
123
680
394
442
512
231
956
465
98
139
784
968
699
166
465
429
253
352
305
772
927
397
716
570
113
725
910
815
246
733
837
320
797
274
167
823
370
267
656
900
550
663
417
635
65
686
451
777
830
389
302
845
687
88
838
192
962
153
994
585
520
983
745
235
630
721
726
568
800
406
693
201
722
831
429
764
580
310
822
224
313
937
574
299
823
679
384
427
778
846
557
474
368
18
652
70
339
555
189
979
671
163
457
434
527
823
136
699
451
578
808
444
372
298
399
700
655
564
299
242
294
230
141
280
365
61
267
232
9
90
469
177
565
965
900
303
931
631
988
311
884
133
756
242
869
198
216
675
742
516
406
561
24
339
186
226
518
69
144
238
549
16
819
899
642
399
983
94
218
963
908
107
762
290
391
814
938
1000
785
334
376
561
473
835
154
346
1000
691
569
915
551
594
400
237
610
545
755
712
362
879
516
400
897
586
573
838
315
263
315
171
599
938
313
101
533
868
695
337
986
194
544
821
613
938
491
963
373
468
816
553
335
964
565
793
879
843
585
105
764
359
926
1000
546
817
769
284
447
896
872
344
117
622
561
46
680
425
450
49
81
518
404
975
35
593
736
923
802
429
274
265
613
552
715
557
819
541
657
628
726
904
770
622
652
716
873
819
964
367
61
588
688
838
636
679
867
892
305
399
985
456
1000
896
632
236
732
916
80
338
75
892
595
213
234
173
120
799
177
523
419
119
971
751
913
908
278
512
205
76
969
815
718
953
933
795
987
262
463
619
865
762
49
197
313
292
10
532
535
757
163
129
865
218
651
879
278
837
111
213
333
894
623
150
109
472
233
31
1
699
412
389
251
614
516
401
739
845
142
788
873
273
315
884
375
767
598
819
393
907
541
414
640
331
374
426
186
948
471
259
153
847
937
99
766
107
570
719
148
128
619
868
798
308
964
241
899
79
801
522
493
371
470
880
55
559
813
605
239
800
314
278
336
500
332
986
547
290
947
594
301
527
269
61
631
830
590
48
150
559
441
879
221
491
403
14
749
136
541
747
428
290
442
842
360
461
159
117
756
715
766
823
761
386
902
799
578
797
371
977
726
845
857
813
669
836
820
598
71
458
930
414
621
132
733
716
711
299
830
106
235
353
517
924
461
76
711
685
200
392
989
216
498
195
745
620
661
825
783
793
740
456
153
320
504
345
686
991
551
369
445
79
424
769
302
762
519
327
914
769
138
496
679
397
234
123
626
559
292
519
803
387
292
549
447
234
918
358
97
636
975
68
870
889
517
533
322
421
311
798
651
80
88
428
532
782
482
290
545
695
708
668
958
288
770
844
640
137
468
373
987
318
515
353
69
585
874
898
619
321
782
904
126
401
23
922
45
702
699
636
35
987
148
4
251
274
664
584
914
624
364
965
782
451
897
499
695
122
685
711
62
598
17
893
8
301
667
359
924
236
629
777
321
630
231
784
228
992
108
850
834
555
524
942
732
511
44
116
913
333
878
586
590
721
57
167
73
409
218
249
136
148
938
632
782
648
485
585
841
201
319
512
611
961
921
448
596
597
331
408
490
141
281
323
698
362
968
862
98
945
323
963
211
71
88
318
655
730
140
345
564
270
288
427
627
195
182
324
562
237
92
689
124
27
35
576
179
524
156
670
13
498
302
712
793
943
470
287
998
326
163
663
755
926
730
891
204
339
437
712
430
448
369
143
31
743
251
772
109
911
937
914
289
53
620
781
441
689
783
709
891
985
538
337
271
254
265
338
626
853
416
911
32
49
926
839
775
281
926
278
91
546
352
877
587
272
609
11
683
159
666
115
900
945
813
161
332
937
872
289
407
481
800
485
916
215
497
991
349
87
101
826
744
649
235
373
654
19
447
526
315
309
574
282
783
975
876
968
638
759
573
557
812
404
818
615
267
291
290
473
514
529
271
174
437
754
534
572
468
143
378
721
955
639
910
371
448
469
997
923
728
351
378
693
629
641
96
714
85
852
750
581
378
607
52
32
285
87
870
79
634
499
184
487
845
872
408
317
160
779
111
71
599
185
478
685
190
706
756
275
615
9
553
46
229
926
85
226
382
180
365
257
25
233
914
696
900
897
755
462
1000
815
357
125
568
824
689
913
640
511
763
983
19
969
871
295
618
908
201
118
296
752
700
802
686
310
850
934
13
946
480
447
576
878
863
515
388
421
139
346
455
514
527
67
307
849
871
965
695
260
832
279
806
822
438
567
973
286
741
477
603
32
77
346
973
757
778
679
608
459
217
992
218
129
749
909
512
731
468
668
787
685
671
400
887
91
589
641
948
344
264
528
422
634
387
59
970
64
568
608
194
755
760
600
637
376
519
903
114
972
339
999
237
853
585
470
957
554
431
671
31
567
761
696
602
629
231
945
491
831
540
640
386
706
499
609
814
785
668
556
722
768
166
801
480
617
773
189
361
379
569
438
888
469
200
725
957
480
284
709
320
345
638
504
818
782
750
348
767
549
363
847
997
956
152
679
383
473
180
636
112
28
264
681
581
773
408
482
540
667
210
546
50
243
475
612
880
276
354
487
201
926
957
835
831
80
766
762
823
282
157
195
880
627
989
175
964
438
542
182
439
375
39
521
300
850
617
608
331
302
874
736
527
896
88
513
771
699
757
713
522
232
373
715
230
587
255
54
323
940
808
872
829
426
800
213
168
773
124
156
165
40
34
797
134
62
29
915
699
944
401
996
130
58
974
937
113
481
675
387
278
795
442
164
280
463
395
597
938
739
333
986
726
235
414
562
908
801
282
474
756
332
12
385
558
503
996
156
606
162
278
4
926
345
929
212
300
389
735
186
44
686
894
191
70
942
390
566
6
673
433
627
520
821
693
728
561
34
26
146
899
138
85
569
236
779
476
948
143
48
117
420
269
105
59
767
580
524
326
685
870
69
246
671
434
123
341
962
570
815
112
325
534
188
917
905
694
416
742
564
859
157
855
296
213
631
213
408
831
899
19
85
504
117
11
871
480
260
906
372
776
912
927
174
897
244
468
574
200
233
801
236
595
498
157
264
993
883
666
551
704
38
390
427
990
835
147
815
109
378
890
106
463
768
175
908
955
503
621
697
213
638
376
114
148
346
261
362
205
555
686
670
750
711
426
311
264
533
47
21
413
805
107
935
591
914
258
396
246
806
16
30
146
507
307
551
765
156
807
601
132
755
784
816
804
485
373
983
128
469
180
794
557
357
685
272
630
935
181
324
120
257
866
293
13
456
276
580
197
498
473
605
198
602
252
419
851
968
178
278
529
749
434
333
453
902
320
426
638
689
721
620
224
95
24
739
322
370
780
652
999
240
852
499
683
57
950
324
136
311
181
825
74
483
720
83
688
169
784
121
603
770
829
123
244
818
304
985
223
184
355
612
82
986
583
48
675
25
340
87
535
952
59
497
804
188
819
349
699
806
679
258
16
223
299
495
895
554
44
84
901
910
51
936
516
755
731
40
280
685
774
524
161
613
17
109
212
439
481
146
200
689
440
923
713
512
675
399
160
680
925
852
225
913
154
205
581
922
416
928
81
89
26
497
237
548
230
370
513
776
770
308
861
485
591
658
951
736
411
910
776
701
40
439
639
443
159
845
67
396
692
717
845
999
86
964
203
40
537
81
170
852
669
843
233
457
251
965
746
93
286
192
978
366
210
162
313
411
996
102
830
60
680
99
480
979
188
270
83
147
383
589
657
843
924
544
925
527
887
73
451
598
64
408
486
42
550
573
532
419
502
275
589
454
946
844
245
735
101
693
102
701
8
484
483
96
143
839
30
586
320
953
595
45
402
897
742
336
288
785
348
37
146
198
980
706
130
437
208
706
662
235
546
554
894
548
464
36
147
902
804
49
979
575
961
229
16
587
405
968
834
52
471
331
998
975
859
724
826
964
952
905
567
669
876
73
458
962
241
315
566
7
589
670
408
425
922
405
88
668
83
892
94
591
415
641
961
953
853
622
716
250
535
11
401
831
99
892
988
747
52
220
689
136
995
598
19
267
22
8
929
509
329
670
39
655
897
614
236
962
157
410
942
249
695
707
928
165
372
905
841
470
753
324
564
835
321
689
95
152
811
619
891
827
876
89
522
863
477
475
51
790
596
930
745
681
313
274
627
515
877
514
885
194
84
389
343
321
238
62
51
689
926
179
524
106
129
39
347
770
460
560
635
921
915
34
338
915
118
429
477
173
925
125
187
677
197
519
883
835
707
914
932
547
425
455
995
267
900
633
584
699
36
94
437
509
341
24
37
115
642
419
992
168
328
900
963
821
421
565
596
254
168
575
172
226
371
756
740
585
403
578
138
808
676
217
602
615
377
336
646
621
436
358
510
814
11
747
761
373
283
779
544
944
953
817
598
67
662
901
381
859
489
796
565
422
782
267
699
687
860
472
78
588
519
821
729
502
874
572
913
879
781
714
791
867
975
420
684
514
119
431
887
834
137
300
142
604
578
302
686
289
256
188
245
877
92
684
489
744
909
774
218
878
902
379
999
937
646
973
58
627
812
78
981
862
192
314
180
983
258
882
141
87
218
924
178
189
494
212
813
466
563
995
893
355
394
643
279
626
59
940
254
845
650
478
806
831
357
644
597
826
378
99
732
77
386
493
416
454
411
405
191
555
352
111
759
442
787
888
288
825
412
967
718
999
211
141
832
324
428
301
729
368
508
850
943
66
436
16
628
469
333
585
116
650
726
485
687
369
660
912
577
943
685
442
66
573
822
661
22
47
787
374
404
381
120
373
44
407
384
99
499
785
261
238
869
187
184
462
289
659
167
82
194
270
569
304
583
220
900
189
237
492
140
149
253
5
738
16
319
978
139
279
855
846
667
104
560
695
637
116
860
585
802
739
526
579
641
104
982
522
525
141
902
856
507
487
285
820
335
272
534
411
302
698
48
375
702
521
407
334
21
247
572
867
425
847
402
985
790
311
408
2
281
171
917
214
457
439
695
172
974
57
669
581
219
44
580
12
653
10
278
696
164
626
914
619
526
904
441
51
894
878
693
391
335
380
813
936
605
122
939
747
704
236
883
328
284
734
987
205
650
121
474
845
899
496
387
556
753
86
652
142
749
45
861
134
771
788
169
352
344
842
48
398
710
400
743
445
489
348
970
340
627
521
766
612
429
319
444
440
676
658
277
37
243
402
881
160
174
48
272
679
839
463
196
220
705
898
695
908
225
314
770
139
528
338
684
137
940
768
685
779
810
624
897
780
786
198
676
889
461
407
24
182
262
32
518
875
575
115
790
357
336
842
802
288
764
748
45
666
464
979
296
780
887
630
775
788
983
902
372
498
965
929
109
598
287
647
177
164
277
998
654
826
422
109
532
331
923
818
749
595
998
47
745
549
375
117
459
208
561
7
808
432
770
958
400
803
823
586
679
859
981
834
717
727
385
694
610
806
728
594
809
760
863
770
721
540
247
728
627
525
551
98
289
168
288
831
621
730
8
670
446
772
470
282
680
80
236
262
247
631
245
448
639
984
324
653
330
255
5
956
187
415
708
155
592
225
101
848
260
542
445
893
626
82
783
648
246
995
145
498
848
744
337
662
589
872
446
146
533
194
948
52
626
853
191
115
217
431
36
486
727
45
696
291
169
913
108
414
86
403
744
294
888
990
380
273
733
851
216
149
844
59
693
174
608
472
491
681
898
432
502
864
768
363
13
62
135
154
934
16
69
36
676
180
45
257
212
162
905
468
906
753
265
198
947
795
825
164
605
382
351
458
72
460
124
851
337
942
270
539
439
876
732
664
398
11
577
867
348
397
981
932
681
244
486
311
523
353
90
942
465
884
286
330
315
77
445
269
530
825
818
969
142
674
6
568
235
901
957
210
434
819
422
909
473
341
323
395
616
153
692
43
613
546
656
729
883
58
447
200
866
633
588
90
794
881
186
280
679
409
747
636
959
889
55
562
86
701
410
949
322
526
992
285
128
232
165
708
838
754
326
714
773
443
276
116
527
536
158
557
942
969
730
587
206
775
110
852
566
664
145
421
407
228
270
676
805
371
22
448
241
234
420
294
820
856
30
902
245
275
873
618
756
582
293
991
468
692
508
75
815
246
879
908
326
92
826
264
578
265
946
279
979
258
116
1
956
617
263
278
274
607
68
623
428
741
52
895
502
497
396
661
453
392
358
110
498
935
327
253
201
650
422
939
853
489
16
894
999
493
730
611
256
444
240
404
138
626
733
354
236
526
932
215
931
469
420
525
825
712
408
351
170
503
202
86
910
959
345
698
378
389
834
644
293
882
872
448
495
530
307
571
728
686
324
812
900
14
931
904
459
913
517
380
904
107
66
61
24
786
613
723
118
724
205
561
345
222
904
127
335
548
362
279
377
797
111
541
823
732
982
948
827
223
18
132
171
354
821
903
730
139
526
35
84
51
506
316
874
257
458
180
774
511
738
387
376
180
706
298
837
743
331
257
901
423
536
477
761
308
559
610
307
452
147
873
466
930
511
208
739
794
813
446
511
170
407
860
424
502
177
832
871
78
93
537
714
541
556
717
419
15
163
649
113
895
310
318
522
50
413
708
342
435
624
841
378
630
599
860
682
861
285
37
6
427
685
40
136
260
275
194
14
562
58
725
164
84
274
212
562
601
399
531
25
605
401
597
143
35
186
136
980
134
769
495
95
136
16
275
891
566
695
144
975
384
218
788
970
50
643
330
194
896
462
961
714
830
230
734
559
505
310
655
280
562
885
275
622
451
930
949
831
658
979
808
960
830
423
297
618
456
520
791
808
242
471
431
814
265
747
799
672
317
262
498
376
592
189
971
818
23
900
173
452
93
41
784
785
964
760
736
104
58
922
739
318
66
489
342
356
475
359
844
366
339
616
990
860
971
573
999
26
645
971
910
669
197
403
636
603
631
381
372
915
426
440
249
151
280
338
144
392
457
723
660
167
720
602
95
324
84
555
140
316
256
947
676
830
712
287
749
329
766
505
272
864
907
151
505
483
911
418
657
640
926
467
253
298
820
742
47
824
543
810
335
346
188
839
489
997
706
968
436
316
950
677
561
172
842
777
216
733
967
773
645
379
839
162
582
975
394
728
242
580
32
960
727
479
658
556
69
455
720
370
297
284
222
266
938
803
30
99
285
300
564
411
649
596
173
548
536
964
30
551
374
941
397
610
959
147
519
846
290
490
174
916
820
493
140
230
440
43
446
614
728
553
292
869
53
381
956
5
169
379
832
881
822
591
984
630
712
465
258
490
881
409
22
627
242
176
86
110
451
337
206
451
842
68
843
32
414
573
542
280
178
737
352
697
292
6
231
696
503
93
239
742
372
805
652
469
652
208
831
293
966
368
783
530
625
119
881
198
37
654
142
459
635
256
781
168
698
162
513
74
730
355
204
24
298
85
42
953
353
38
341
513
104
394
472
973
445
419
162
398
798
894
601
191
970
410
376
783
304
494
225
656
962
600
18
868
647
234
161
982
461
867
838
606
872
830
108
763
960
107
908
962
224
751
427
159
204
730
149
728
112
102
130
247
485
814
667
107
562
840
626
953
768
67
107
518
175
79
27
659
283
985
431
337
811
511
69
807
424
854
802
519
498
214
945
100
96
491
504
317
289
364
600
102
844
868
62
555
82
616
287
355
406
14
1000
154
606
186
445
315
523
831
909
880
99
888
186
703
147
741
747
514
380
656
950
104
396
278
547
891
334
323
133
893
865
46
968
544
28
661
721
816
173
672
352
875
954
972
253
814
840
657
225
88
141
732
649
922
873
259
402
323
113
68
711
321
662
818
140
709
944
86
339
877
65
152
6
285
888
315
777
750
768
930
377
5
332
789
427
906
323
160
770
276
48
543
32
605
431
190
400
736
995
525
294
217
381
859
671
239
152
221
209
920
712
710
498
242
120
481
677
139
499
388
657
54
483
341
194
794
860
632
579
666
173
848
667
685
535
500
262
97
310
159
658
611
681
724
235
482
275
433
609
41
219
337
743
352
987
297
842
425
355
969
577
812
642
881
395
481
146
452
237
574
377
720
983
28
212
639
336
57
623
17
649
210
965
565
436
3
117
62
886
189
967
362
737
322
814
797
308
629
277
560
285
125
205
826
138
574
909
673
644
141
748
370
97
528
746
219
191
989
430
942
468
839
552
555
468
4
679
763
402
705
911
193
262
572
124
188
756
394
237
466
350
189
937
665
29
507
203
714
61
694
750
980
176
354
197
360
113
387
374
837
369
804
682
543
374
986
826
15
996
154
571
188
482
633
384
630
448
883
963
659
509
406
674
288
510
348
884
396
75
39
12
114
377
769
863
180
608
813
506
966
628
80
482
906
660
822
640
323
691
473
248
33
472
77
340
629
599
731
414
83
188
139
756
117
93
664
591
850
423
259
247
368
381
245
288
198
88
217
310
147
79
269
731
612
664
324
436
254
164
623
570
874
338
290
143
446
969
495
349
528
680
917
660
666
526
103
845
18
801
830
8
123
823
783
640
648
140
685
467
981
740
509
540
750
335
586
663
675
762
184
702
721
831
648
770
133
723
278
591
808
166
918
554
412
173
655
120
790
104
124
262
529
134
659
585
956
37
934
579
494
319
796
272
20
346
707
153
831
108
597
840
865
625
928
426
83
830
493
832
269
967
787
744
101
146
781
957
994
722
617
6
106
602
9
977
899
406
130
328
814
636
378
325
954
694
683
457
134
587
977
816
318
660
4
934
220
532
936
72
858
705
111
236
873
969
839
506
768
832
358
389
590
670
966
994
169
210
832
790
765
245
202
594
849
193
548
222
807
225
699
921
525
218
159
310
210
697
615
52
278
272
119
896
829
823
519
54
56
828
536
72
894
757
284
527
387
460
135
873
517
792
570
748
695
527
78
848
733
767
201
295
867
634
559
12
318
51
43
262
967
768
414
912
931
636
204
422
237
304
183
796
322
158
634
961
778
305
335
120
651
887
467
634
566
774
617
892
171
988
681
472
681
811
735
575
798
605
906
389
918
826
815
549
342
567
473
306
138
253
362
373
416
773
19
665
49
425
664
318
286
543
244
428
267
547
859
933
199
505
648
945
835
940
114
610
932
802
328
287
577
975
620
406
614
676
168
916
937
387
372
588
56
736
5
806
195
875
931
668
140
444
601
372
210
188
629
884
11
645
509
827
76
99
922
395
114
164
155
826
346
957
853
655
323
792
726
512
705
743
820
720
700
203
693
326
255
796
126
467
646
598
54
199
786
645
996
970
461
143
623
979
691
618
34
513
587
482
951
222
418
152
318
988
52
886
715
688
602
985
601
660
886
847
646
182
264
655
304
537
523
144
344
583
738
970
287
835
467
710
540
178
202
399
575
280
734
830
662
674
977
532
524
231
845
477
769
491
967
57
109
855
386
843
190
201
905
917
311
860
404
359
454
231
284
577
796
513
166
748
338
192
127
576
354
926
33
938
119
438
985
793
793
861
499
847
356
735
815
100
261
534
626
376
792
138
617
318
182
163
425
144
201
447
999
679
286
235
943
764
270
857
37
188
424
746
72
715
838
658
95
580
127
894
346
120
78
99
494
795
122
966
263
957
462
797
167
139
264
402
880
532
581
269
704
573
574
278
717
243
150
490
432
779
365
706
231
945
795
560
409
965
637
868
378
469
435
860
503
545
226
688
44
87
356
300
924
155
385
380
348
989
305
536
869
657
776
356
102
48
175
249
175
68
70
223
936
456
134
871
112
587
618
885
868
999
261
356
725
144
887
954
324
49
31
864
363
150
636
982
895
554
229
475
286
375
31
249
339
595
122
289
501
119
143
80
595
284
977
534
221
120
566
954
845
90
252
536
583
856
79
869
871
862
40
668
533
181
585
720
245
112
613
651
14
465
768
661
114
368
120
798
846
657
180
714
597
627
805
91
961
966
720
80
67
229
294
179
867
59
702
923
843
691
813
680
499
981
981
589
44
304
395
394
846
198
830
524
650
548
419
276
998
451
541
348
15
619
68
315
514
348
941
855
368
622
528
643
245
863
290
904
63
238
9
517
17
170
272
451
599
898
935
29
811
498
20
211
689
787
867
644
337
910
397
675
877
208
5
954
149
206
985
488
495
121
336
238
695
364
488
419
965
902
783
705
937
190
507
402
720
626
909
527
454
118
893
401
265
418
33
33
152
317
137
84
143
680
822
663
996
550
502
531
836
246
701
564
387
445
859
484
851
750
661
922
100
109
423
865
536
786
296
411
907
271
856
550
368
632
152
359
301
356
449
644
764
604
713
499
942
197
317
741
647
343
625
422
741
280
840
907
326
573
965
90
714
720
797
377
427
148
655
20
2
384
891
197
911
420
351
19
710
835
635
313
451
243
376
552
439
33
806
833
674
160
548
142
689
959
911
452
51
571
972
387
487
585
382
284
445
930
127
478
925
882
463
585
592
289
846
311
468
774
977
107
37
710
995
573
197
226
451
67
283
380
961
416
379
881
292
979
183
447
261
560
2
934
974
824
846
906
861
966
173
159
449
307
567
66
36
428
525
270
232
187
557
408
862
697
26
38
868
915
489
883
649
5
833
844
746
67
140
950
926
97
90
592
450
323
627
906
791
141
811
155
127
956
33
307
706
124
241
784
555
101
420
533
90
599
343
153
890
260
513
797
265
893
308
971
283
807
565
147
608
152
220
322
829
466
182
262
978
814
292
186
560
6
119
99
761
395
294
780
432
642
322
684
102
690
81
685
517
875
730
597
170
753
369
900
854
766
612
959
527
273
140
269
674
881
461
972
936
204
330
952
940
387
702
301
199
771
698
865
429
53
747
860
839
203
7
262
795
125
160
801
725
819
925
890
336
330
950
757
965
320
283
391
407
490
272
629
645
405
590
874
698
485
37
487
257
78
938
836
825
547
218
373
885
249
712
858
950
143
864
53
493
504
726
748
379
904
95
34
887
146
700
60
348
373
583
383
191
882
202
168
458
532
319
155
912
759
476
309
457
364
651
480
936
216
772
287
335
926
883
605
21
373
94
750
938
685
957
455
637
901
498
224
547
87
972
495
225
108
341
322
145
621
570
961
205
95
126
820
318
841
458
749
324
85
829
498
6
102
585
520
164
309
864
957
543
992
741
816
908
47
73
801
722
700
596
245
679
691
388
892
813
803
461
26
44
946
61
584
759
220
271
456
516
527
599
114
999
311
577
89
130
977
812
586
634
368
554
690
427
446
605
216
879
976
304
245
433
577
417
755
19
998
966
606
458
829
448
293
324
155
409
546
799
875
71
835
628
450
525
288
684
927
70
355
528
920
385
801
35
102
601
231
415
460
787
432
875
193
18
258
790
695
969
645
477
460
966
639
571
156
485
945
575
306
378
659
353
232
541
270
222
942
265
944
821
642
293
417
123
417
463
491
784
422
876
287
542
614
713
896
520
652
200
9
86
91
724
451
412
429
760
245
977
856
121
40
54
798
998
219
626
466
409
11
314
664
974
282
596
49
359
435
36
890
377
50
289
109
457
455
353
88
136
430
937
237
304
624
811
845
147
73
723
86
128
424
766
347
909
62
127
227
781
387
753
677
56
883
816
737
880
489
799
237
76
981
671
658
988
757
868
65
736
448
769
656
969
240
905
7
968
653
421
526
916
805
195
7
254
854
583
382
304
395
974
986
764
94
221
662
249
703
514
55
779
945
483
295
29
429
134
51
155
885
725
666
257
541
844
632
863
360
761
216
348
222
584
420
862
849
890
807
179
429
252
929
832
456
547
219
86
230
995
276
530
859
653
370
588
361
457
889
796
635
4
151
491
666
947
733
472
298
272
964
252
348
736
765
763
562
453
349
771
213
928
623
789
664
852
289
977
323
632
772
379
774
919
78
874
747
374
620
343
810
542
855
939
317
963
308
770
191
604
165
999
586
271
196
99
344
910
166
10
399
628
263
2
12
791
344
353
753
796
910
329
657
992
850
566
888
719
916
655
517
662
812
641
759
519
525
179
111
520
258
286
340
431
902
9
251
555
484
798
415
648
459
97
857
818
10
438
798
270
768
342
116
142
461
455
148
828
72
632
811
887
5
154
809
70
613
846
843
25
203
647
349
994
280
85
265
153
383
194
723
302
305
649
371
270
909
259
237
767
2
533
644
395
948
699
744
188
783
457
613
360
607
708
737
911
940
710
914
355
546
428
270
116
938
307
120
73
442
362
888
328
191
256
125
513
899
987
983
855
582
930
139
792
684
207
260
117
191
826
605
544
398
549
227
70
992
232
564
732
935
237
900
176
489
562
299
956
356
551
139
639
541
388
283
600
39
96
288
853
858
432
748
388
208
897
60
271
910
45
419
179
213
449
821
156
233
929
215
101
179
130
716
922
379
141
966
334
870
599
310
8
982
632
454
136
903
107
659
516
703
841
318
947
658
833
2
50
12
135
631
645
502
658
488
466
72
78
197
283
202
17
618
503
202
837
874
907
618
726
334
488
648
214
466
268
59
919
912
576
674
93
987
514
907
506
115
232
186
312
351
207
370
779
247
922
394
231
791
229
486
70
64
195
241
521
543
420
728
610
695
650
597
932
620
29
839
970
19
450
447
76
702
305
748
743
153
386
561
473
459
817
682
346
994
664
394
407
856
328
848
107
980
885
195
332
226
312
279
8
505
929
567
869
192
439
731
749
652
690
970
658
698
616
721
13
181
881
888
576
743
412
83
89
941
350
681
105
582
953
659
231
132
632
321
854
469
612
968
419
104
679
536
524
231
87
996
395
593
989
73
808
230
686
437
136
605
573
83
28
505
915
33
144
337
488
869
498
159
685
842
212
844
876
465
909
275
737
576
548
354
722
815
232
926
104
355
409
414
795
508
929
72
699
496
632
304
465
335
472
397
356
200
722
372
367
139
462
384
913
250
373
239
107
700
847
186
162
84
573
34
477
646
16
87
754
854
700
90
881
630
793
605
380
339
231
784
927
254
598
537
832
819
977
429
398
484
290
506
746
275
979
411
54
544
463
791
139
538
467
995
975
527
224
518
48
232
513
457
401
206
707
483
871
639
295
498
273
789
857
181
228
845
86
88
938
611
241
836
431
781
396
183
724
988
915
468
903
14
883
985
334
732
613
327
101
420
947
668
274
58
779
209
817
80
140
755
777
882
204
492
893
28
792
555
911
736
302
906
719
710
498
361
851
795
280
374
75
265
355
303
504
752
732
441
159
990
99
67
956
533
417
120
876
613
537
874
441
84
250
183
723
219
914
414
787
725
773
218
861
965
108
654
563
805
618
986
182
919
814
700
355
643
743
884
486
672
80
132
907
8
449
580
71
544
880
494
66
603
462
86
330
544
576
860
743
315
580
863
196
401
449
659
349
204
676
719
497
315
677
175
413
470
62
582
566
274
398
403
332
898
483
424
696
54
771
193
473
506
271
908
245
262
166
841
70
388
423
545
504
45
877
574
634
1000
617
411
638
315
18
584
827
361
446
740
293
616
467
555
7
916
380
924
699
983
43
843
906
55
234
732
343
426
268
749
141
515
154
803
563
872
393
552
525
156
391
699
621
714
560
225
371
859
399
84
108
302
258
19
257
521
992
819
747
1000
458
340
961
394
620
32
939
679
81
581
506
249
999
455
625
744
683
857
550
115
643
587
299
70
511
795
544
566
39
479
258
462
321
825
398
809
516
197
409
484
595
636
591
51
46
250
234
801
71
727
935
887
521
558
726
363
705
224
457
698
264
732
390
71
483
401
104
294
793
740
635
776
708
562
220
299
115
252
148
728
676
229
14
999
60
206
64
830
869
799
467
668
432
413
36
325
60
97
388
574
993
233
522
770
998
512
580
195
550
642
873
408
529
622
313
345
669
222
64
306
334
507
574
229
770
888
136
878
653
152
791
638
648
402
688
635
659
638
988
797
670
962
5
306
356
30
590
591
165
435
647
669
165
147
319
153
799
21
580
708
581
634
898
65
928
406
194
979
546
22
519
656
219
700
771
270
442
684
276
124
41
716
253
939
834
881
32
489
417
385
375
538
371
315
411
602
531
365
512
578
478
863
887
700
81
134
812
564
744
424
170
252
989
130
443
643
147
50
342
79
233
735
53
502
502
788
460
981
831
140
752
360
791
906
575
373
234
420
217
172
258
443
378
657
664
341
745
416
421
230
929
321
147
715
336
68
390
844
175
6
274
359
133
633
140
135
211
29
961
937
814
337
629
285
507
91
715
261
752
860
910
543
532
177
186
834
42
202
628
93
501
868
24
698
711
567
550
701
205
558
304
874
704
355
21
92
109
329
44
959
472
648
484
216
197
443
586
672
249
792
475
835
269
724
857
405
346
930
718
109
623
286
775
71
45
621
226
103
369
368
336
810
926
886
556
390
793
255
126
354
706
313
599
181
506
525
306
85
932
64
562
652
318
102
315
113
93
920
30
396
52
878
823
903
998
711
253
182
755
856
708
259
495
747
60
429
12
85
60
721
868
118
29
96
312
855
498
669
483
975
829
892
693
903
310
688
532
155
850
991
98
606
195
991
940
754
553
681
168
412
605
957
779
531
142
615
425
983
992
80
767
238
490
594
41
808
441
883
681
247
444
60
666
248
487
592
768
89
898
719
12
281
123
625
496
763
300
974
154
409
267
206
203
932
470
93
749
481
220
630
505
371
878
287
641
415
862
9
524
270
776
127
549
58
634
524
272
274
836
966
802
672
552
510
785
352
175
307
316
786
783
892
823
873
923
280
294
400
552
809
227
500
724
659
323
776
396
448
263
759
815
94
861
317
43
404
536
400
576
484
286
259
421
110
307
916
699
671
994
162
582
146
285
833
365
866
233
461
548
462
246
627
84
506
639
536
362
837
40
386
76
446
680
58
845
109
832
588
358
672
460
594
848
975
654
595
908
965
600
708
5
434
595
733
578
183
143
51
264
139
228
69
621
85
697
169
709
244
79
257
4
887
266
32
452
521
250
51
878
963
483
503
603
811
506
359
868
368
204
252
594
106
415
951
66
114
652
850
382
810
375
179
877
372
597
20
287
989
611
326
112
27
253
299
497
649
468
449
966
255
862
588
498
346
588
822
787
61
170
332
966
693
800
352
774
943
255
320
867
538
804
573
994
107
400
346
806
888
986
84
373
921
992
203
881
870
940
552
549
518
628
772
569
273
533
625
726
734
910
179
410
489
594
390
946
810
610
259
505
886
560
219
386
513
187
822
109
928
655
137
616
634
847
453
824
576
446
54
931
12
608
837
174
795
846
493
167
518
75
849
577
192
901
661
643
679
886
893
975
105
947
991
120
870
35
231
657
681
960
507
922
231
527
292
37
757
192
633
624
764
66
193
401
575
411
304
932
257
754
968
901
658
344
493
670
985
979
238
314
371
139
521
1000
343
976
314
332
988
942
764
286
851
747
964
404
307
904
606
236
206
312
347
401
111
226
777
221
295
487
831
627
34
40
410
908
360
658
704
928
630
241
462
620
728
244
6
951
684
580
324
41
792
817
965
785
90
610
778
185
162
81
794
532
823
311
620
761
162
168
812
566
819
486
595
326
107
962
152
496
811
248
495
881
22
394
524
118
419
184
528
797
741
940
784
847
50
40
333
217
555
753
294
437
401
982
242
326
839
150
311
974
627
799
664
146
331
410
888
428
460
599
696
728
984
91
36
285
849
854
331
908
583
312
128
22
900
855
862
8
535
723
782
445
183
932
370
132
511
112
715
166
701
999
384
951
878
853
311
730
73
267
93
117
87
655
876
169
730
215
711
708
436
327
835
995
172
128
876
340
902
500
350
912
599
809
171
854
951
526
96
754
449
280
159
704
513
5
198
428
663
563
515
454
538
654
538
876
706
869
148
29
822
459
956
333
670
774
407
603
10
337
55
389
981
227
731
279
972
757
611
635
545
457
383
957
965
14
826
905
346
115
91
22
256
141
909
392
831
241
755
759
147
634
727
148
605
877
535
636
554
477
505
744
262
420
981
845
584
150
830
107
378
31
26
751
785
592
431
804
990
698
988
142
980
320
480
293
90
779
922
424
880
160
407
911
953
100
950
155
887
303
455
614
343
951
423
562
773
635
478
748
887
559
31
941
150
556
708
360
192
864
227
75
916
738
487
824
481
685
574
73
106
535
197
806
813
613
885
270
806
996
879
820
184
201
256
86
73
695
283
923
60
291
375
983
35
829
330
291
144
562
698
922
588
291
227
709
424
624
374
954
367
687
724
245
806
247
25
854
932
480
254
623
884
547
739
929
320
744
941
69
643
226
898
401
414
220
711
643
150
188
699
13
781
634
1000
333
535
106
484
738
927
481
798
430
804
795
245
755
130
745
11
947
297
447
902
77
276
241
386
111
833
78
241
469
391
558
480
187
845
760
608
561
771
794
419
168
59
476
727
298
903
545
430
82
510
675
255
120
596
859
388
950
960
860
940
514
1000
106
861
663
998
793
493
839
438
978
400
288
392
150
536
559
224
67
47
580
487
703
240
295
897
734
321
727
695
366
522
318
548
227
151
576
381
685
902
396
157
250
503
880
704
602
395
136
126
447
687
329
197
581
50
201
428
500
590
379
151
422
985
73
53
805
306
157
101
346
58
229
663
924
916
953
957
188
508
894
655
287
411
82
591
773
199
759
35
830
971
113
926
812
325
302
792
539
117
763
821
898
689
618
693
110
459
950
326
432
911
900
679
164
28
790
70
572
199
954
281
751
437
551
874
514
523
407
736
73
354
837
856
717
319
498
730
649
29
521
603
879
84
593
945
383
859
187
196
756
475
820
820
219
233
124
138
161
771
472
236
372
143
112
508
715
815
66
7
311
301
539
853
187
805
214
390
979
750
620
660
506
535
685
21
928
204
720
429
777
957
313
957
357
613
68
661
879
180
648
744
235
681
378
311
482
256
481
702
977
333
133
500
560
387
653
836
382
367
574
549
739
399
784
61
782
780
647
622
54
597
815
655
619
504
426
542
954
380
518
127
894
541
801
563
631
212
351
925
212
737
423
174
10
817
322
644
366
685
203
210
982
722
745
689
667
486
862
841
705
489
29
531
493
370
311
224
61
278
911
24
744
404
891
881
607
577
755
419
169
779
717
96
587
229
836
29
780
419
671
888
848
118
728
709
792
889
800
351
739
113
215
576
812
854
142
427
327
160
352
650
226
567
248
397
511
605
575
340
996
129
917
647
857
131
12
941
312
507
930
518
257
923
382
591
831
549
773
276
720
905
121
340
426
490
646
513
899
190
647
263
684
671
266
525
164
83
892
807
590
482
228
475
323
258
506
779
112
751
957
377
312
980
367
659
639
64
510
221
439
477
303
165
488
779
750
773
8
818
166
244
928
688
665
861
424
935
648
915
428
592
844
194
81
622
489
638
99
271
393
15
642
648
973
137
517
570
795
138
535
332
847
856
398
621
490
172
734
205
71
464
834
409
201
985
176
613
34
93
34
191
263
697
386
376
129
236
787
490
486
768
145
877
840
471
102
669
317
975
276
173
736
451
733
311
312
326
896
13
998
818
544
896
207
214
694
866
401
986
916
517
90
364
89
318
871
956
671
620
449
374
335
463
35
587
193
5
119
895
911
142
379
16
730
581
395
756
776
144
941
127
66
610
826
586
323
738
660
271
24
426
471
727
117
144
781
638
515
876
623
495
735
812
975
983
79
958
282
91
312
609
37
607
131
409
884
703
602
296
347
781
369
216
75
610
661
893
453
46
50
308
524
337
452
807
440
45
87
890
69
158
990
823
976
831
185
186
700
497
831
334
175
818
463
560
148
34
999
416
676
805
267
261
120
565
685
614
585
739
144
279
414
908
290
553
160
160
173
44
470
419
659
731
410
486
112
977
105
913
570
116
970
579
70
96
451
36
826
407
928
251
663
204
381
392
525
70
472
656
850
371
927
989
337
512
523
724
929
703
467
775
878
15
732
77
367
647
695
346
505
276
496
100
457
311
659
109
118
687
883
80
978
533
358
452
806
704
611
612
336
701
699
731
405
919
477
674
883
554
815
114
314
709
879
70
373
447
11
587
149
559
326
139
765
830
872
678
54
440
81
934
823
925
293
690
770
841
331
283
232
828
451
502
784
325
529
397
169
549
987
231
132
721
802
981
559
697
927
319
708
318
569
989
450
831
97
826
145
664
765
475
231
686
68
1
605
853
314
204
644
783
882
414
57
388
751
947
789
148
96
211
889
6
124
644
600
141
902
293
910
67
587
857
472
618
352
455
100
365
318
183
19
930
940
810
675
493
660
562
162
482
87
25
306
102
629
650
990
855
273
187
567
689
181
688
133
719
853
340
950
758
893
532
569
26
818
995
30
485
932
786
96
231
18
175
606
234
481
198
919
515
632
771
902
549
998
752
50
257
884
293
169
484
962
139
495
246
287
282
252
373
997
512
424
361
931
966
972
422
516
730
779
716
592
932
396
718
290
485
34
507
663
890
324
531
571
14
66
46
196
812
587
16
680
309
327
719
570
1
975
681
189
999
804
869
540
899
883
232
104
341
437
818
710
675
10
656
687
980
985
545
679
896
686
672
810
421
531
739
394
834
666
882
995
377
80
214
468
213
465
266
522
416
969
942
493
437
575
868
255
598
33
171
609
605
143
789
91
16
748
387
853
872
933
852
153
415
798
85
59
939
672
553
144
322
766
610
324
739
94
154
496
362
936
541
309
614
275
48
209
681
369
364
905
529
92
735
525
654
755
419
18
130
871
47
835
307
711
356
502
696
588
466
461
125
504
601
512
287
166
660
202
167
406
555
791
628
740
599
799
683
117
518
655
548
931
851
710
630
993
591
710
6
503
949
831
789
8
17
566
24
947
909
70
393
685
729
50
59
853
287
913
449
418
68
719
626
131
378
372
176
933
930
663
222
433
425
969
236
809
807
890
846
335
943
645
684
286
490
792
675
133
530
732
818
814
396
480
686
322
774
405
338
47
766
999
287
89
122
225
516
236
233
689
240
417
823
697
277
239
478
220
450
610
300
976
380
593
982
64
404
337
585
111
130
363
98
427
309
529
657
481
279
722
939
905
249
690
811
305
60
464
818
399
884
485
417
393
516
926
228
34
524
657
679
500
566
992
601
121
591
626
267
959
461
178
334
429
811
344
921
471
574
965
817
276
652
236
405
191
701
872
463
222
826
315
412
527
278
940
956
369
906
795
290
272
215
625
235
557
354
797
707
978
261
271
923
951
508
959
600
711
65
634
212
815
342
61
47
586
387
180
423
465
29
967
898
722
103
77
752
699
630
484
309
512
956
126
916
198
442
973
505
356
206
67
704
686
822
776
424
245
631
968
666
855
514
809
77
856
524
663
426
337
812
894
747
23
638
438
362
235
79
665
395
765
246
424
639
978
446
126
880
237
731
409
829
534
721
202
857
263
398
16
616
234
833
852
465
335
428
465
315
745
335
589
178
243
142
371
197
937
796
480
416
699
16
276
862
690
97
962
798
631
108
896
140
889
975
58
126
20
830
262
264
146
319
816
497
436
244
234
303
994
66
66
117
661
295
76
94
601
703
815
716
46
677
73
158
248
712
873
654
503
237
370
333
111
487
532
88
258
106
510
137
98
532
385
819
785
976
371
60
779
990
617
671
544
205
459
311
660
801
354
529
430
670
759
737
340
45
886
389
66
548
618
901
301
267
872
31
356
444
340
574
366
832
835
189
913
556
481
114
86
620
540
331
283
780
23
473
579
602
89
391
92
960
903
827
588
102
807
102
520
679
599
58
781
799
263
755
744
288
717
585
558
762
992
532
244
92
818
279
892
74
763
750
112
865
897
444
963
851
475
640
771
125
269
113
612
692
1000
534
734
842
776
139
885
874
572
544
308
505
559
828
181
838
540
138
382
730
816
88
780
769
577
184
696
821
293
347
766
314
672
358
237
973
424
724
611
748
486
9
647
37
359
181
954
133
908
855
804
22
321
664
327
270
893
116
958
765
4
450
860
504
906
958
65
439
964
206
226
664
566
346
226
822
223
486
350
715
315
682
364
519
518
661
659
895
193
838
539
540
939
517
872
410
54
443
542
929
872
13
620
976
809
542
667
359
490
931
406
760
511
989
800
870
218
415
679
525
395
185
229
183
911
627
29
25
168
31
805
255
670
16
794
959
159
198
362
7
525
941
580
18
152
88
533
406
438
619
474
847
981
97
364
312
325
662
959
957
218
33
353
779
57
670
816
894
548
822
837
733
663
627
519
215
646
846
843
196
158
86
897
75
653
536
814
493
741
391
85
463
574
82
853
106
294
402
32
413
179
375
370
109
398
491
80
708
251
535
295
359
323
765
398
906
249
658
228
865
699
785
268
724
722
618
187
9
828
248
519
88
62
60
850
559
829
374
604
385
427
942
417
624
101
1
111
745
900
229
516
12
781
603
706
376
242
613
760
624
173
738
798
271
804
373
893
855
351
654
432
822
430
724
626
138
389
47
183
166
443
294
592
82
929
208
76
287
31
561
46
875
44
40
789
187
639
390
210
868
596
699
676
686
166
16
404
525
562
829
360
631
83
99
365
165
15
646
932
583
776
702
393
165
731
341
22
274
718
316
216
560
628
566
243
385
284
284
726
199
484
958
816
450
303
255
974
908
654
972
351
931
678
507
72
307
734
491
89
773
647
276
897
232
383
952
103
976
528
437
737
920
760
991
243
4
25
163
279
393
277
826
825
66
424
409
582
711
640
884
359
569
268
361
924
26
364
393
808
314
337
179
678
606
240
945
175
208
22
676
604
255
443
253
410
564
413
784
200
817
251
600
932
283
698
920
16
666
580
714
267
457
689
615
62
390
777
61
580
222
578
25
718
58
410
783
121
880
230
184
784
779
971
793
850
611
616
105
557
458
740
733
761
322
203
111
103
932
230
814
686
426
399
983
84
912
950
757
576
616
366
814
821
403
428
326
549
917
797
666
458
536
697
204
219
583
488
400
389
978
716
179
68
629
777
286
339
349
419
896
891
58
195
270
734
327
358
662
574
72
901
992
270
361
140
25
733
828
739
933
815
168
123
139
980
536
996
301
41
445
73
134
830
948
196
516
430
459
734
998
534
546
504
407
552
465
531
683
334
963
588
493
752
99
856
452
935
466
1000
946
653
189
633
688
195
517
429
115
104
660
145
655
308
747
392
716
482
452
307
955
8
863
202
47
480
630
845
663
545
316
296
858
785
109
106
384
473
760
255
714
290
678
430
716
507
614
88
992
725
241
313
861
969
274
630
853
861
444
804
364
596
776
123
812
682
141
852
233
736
965
312
772
161
336
551
913
180
457
645
630
541
564
500
861
179
971
406
817
269
860
730
710
389
799
858
391
964
752
899
257
779
492
739
544
83
961
728
762
770
48
680
631
156
718
867
306
118
159
390
99
763
887
660
180
313
312
677
904
615
313
512
563
521
804
646
309
416
73
818
958
327
962
660
154
373
554
650
139
806
124
877
971
517
539
677
588
690
183
470
555
222
721
12
667
650
738
844
857
567
318
944
4
960
164
436
303
435
730
768
845
70
139
935
920
495
392
165
351
847
438
1
863
465
268
839
72
515
41
814
214
290
654
375
104
551
859
34
177
142
205
515
652
69
619
11
9
378
391
310
996
457
729
314
328
854
769
873
92
275
145
928
629
236
782
657
300
707
571
687
159
214
990
498
977
63
519
777
480
742
916
862
926
117
43
402
353
721
926
1000
927
295
193
933
801
761
834
989
859
974
494
122
465
905
140
837
133
429
992
228
611
481
86
131
430
184
674
112
414
460
959
932
986
787
323
661
365
971
308
861
910
290
78
99
933
869
2
600
273
940
289
33
823
491
320
250
949
855
439
310
473
12
472
268
467
710
190
14
619
29
248
924
334
697
869
191
69
270
718
499
594
278
918
131
38
587
150
675
588
504
138
290
654
608
575
819
179
914
750
182
507
701
683
127
899
295
602
827
343
152
963
835
784
809
38
580
282
690
274
943
876
261
274
434
158
756
261
169
617
535
285
117
852
163
312
94
648
454
541
574
729
49
950
682
728
601
123
658
544
245
870
672
781
849
22
128
432
482
24
499
289
641
681
259
837
53
434
754
539
269
72
673
502
851
672
340
451
696
855
210
882
904
158
821
972
664
436
919
589
819
729
648
289
127
959
507
733
767
137
223
333
269
538
830
280
917
400
18
322
629
285
245
779
448
201
195
333
108
923
924
76
544
742
432
124
863
49
443
886
16
729
930
725
375
337
243
321
442
432
783
506
201
234
788
749
968
975
194
723
173
956
499
595
172
293
215
789
84
825
808
944
628
427
999
742
111
257
899
62
68
90
749
658
496
944
975
195
289
671
824
991
275
37
142
270
189
104
722
91
43
376
223
341
593
287
882
373
54
71
100
917
750
964
520
880
156
986
405
515
647
256
950
238
335
919
659
66
547
260
110
226
899
539
164
27
376
392
233
458
552
375
256
320
870
412
882
918
896
408
738
456
618
287
798
331
113
65
574
458
400
328
281
601
867
677
185
449
457
284
41
828
675
681
921
18
600
306
747
612
280
141
540
724
291
963
716
661
792
369
787
351
93
733
454
914
614
703
392
785
141
650
10
691
424
755
73
617
520
29
345
597
738
655
387
839
698
443
172
163
808
118
492
249
403
379
979
475
901
365
165
423
606
257
189
272
193
210
657
371
478
722
665
252
837
856
210
239
489
397
15
571
938
212
331
672
30
519
407
783
481
770
136
694
207
136
851
697
472
347
367
234
706
783
147
903
803
245
895
643
861
824
974
938
625
626
809
826
329
881
806
351
246
163
408
851
25
15
622
132
809
246
684
146
185
609
627
268
290
318
131
649
730
106
419
393
572
128
956
524
309
34
326
781
617
955
31
305
671
6
864
173
13
104
163
582
257
600
528
165
401
222
508
597
164
317
361
156
563
243
232
351
864
17
21
90
196
3
724
100
336
538
302
481
620
828
965
344
493
401
301
453
958
656
870
672
55
787
708
800
557
472
698
86
268
206
916
284
658
136
851
651
96
543
906
670
591
878
648
604
802
401
119
240
24
24
906
262
47
909
772
767
13
753
419
369
908
439
318
183
894
936
643
722
458
890
17
446
280
353
199
201
801
479
821
330
673
841
6
564
715
198
23
124
477
182
126
623
283
386
392
498
415
764
670
657
168
68
733
995
634
334
326
183
425
1
100
921
9
385
355
441
987
602
92
583
414
975
133
219
231
174
972
154
987
38
570
863
260
123
534
619
656
477
986
599
793
71
948
559
437
598
283
527
826
59
27
758
290
687
492
898
431
254
632
868
534
766
16
541
356
840
163
623
109
851
177
547
323
22
350
337
185
244
865
583
155
312
800
682
907
673
405
436
130
529
3
972
282
317
946
666
221
181
757
456
480
29
973
467
94
167
223
345
74
309
767
109
29
963
58
565
986
811
888
570
142
721
336
487
151
455
29
221
562
965
225
97
180
431
810
680
462
794
611
368
538
653
347
191
72
783
130
813
997
459
681
159
82
998
326
452
405
615
398
678
84
809
882
689
10
912
21
189
924
416
125
840
892
917
2
617
142
275
283
283
245
680
407
609
858
840
177
495
545
434
616
726
784
304
322
436
863
605
623
719
232
265
638
43
860
676
768
226
266
483
225
804
203
700
986
537
406
167
915
662
454
523
903
258
513
458
555
729
686
11
353
12
757
40
226
554
336
839
167
520
816
48
861
932
91
629
295
695
686
708
963
491
796
502
608
598
767
376
382
544
683
340
955
370
104
905
359
951
412
305
307
515
930
521
296
969
715
424
77
135
914
624
952
335
658
275
935
983
748
193
27
74
781
100
714
450
975
735
347
758
643
866
231
855
195
921
93
219
546
107
107
631
57
377
791
938
446
561
915
297
660
265
17
615
329
941
245
308
284
613
29
648
574
359
514
158
572
546
775
510
55
228
598
343
568
859
985
265
31
667
629
50
263
597
310
712
64
744
527
692
524
579
718
892
502
72
112
634
571
31
582
946
293
583
866
742
381
756
201
569
146
522
683
612
675
530
679
537
312
963
189
587
376
624
389
59
506
393
462
931
679
656
474
928
729
181
239
775
142
177
87
722
30
953
933
690
422
677
335
533
452
213
48
7
576
940
127
968
708
719
830
250
38
912
386
414
327
455
219
287
704
520
337
791
321
213
453
64
742
105
815
300
620
114
894
42
29
414
817
887
801
605
907
696
368
304
737
429
884
734
891
686
867
599
11
857
208
758
766
566
134
772
106
730
669
380
524
149
175
379
85
983
817
166
664
885
150
412
179
832
611
953
589
864
364
13
100
96
821
280
312
312
163
210
27
402
375
161
34
700
601
607
491
21
145
738
442
804
45
203
604
325
965
624
802
367
101
771
344
102
877
981
174
185
509
460
858
209
897
633
348
768
904
558
974
317
806
771
309
913
577
589
400
720
735
47
337
813
646
160
303
463
579
101
52
563
272
256
221
256
487
838
9
182
810
880
541
936
969
993
654
505
58
235
958
447
371
780
732
560
972
871
667
584
756
700
486
302
518
461
211
991
441
779
215
811
533
148
210
145
725
802
35
308
762
622
419
320
571
352
914
626
441
367
831
766
266
685
328
971
87
751
772
596
314
753
101
114
394
871
205
108
106
929
280
349
357
354
688
547
112
231
113
859
45
511
707
528
634
84
469
328
642
547
330
623
376
949
279
930
680
732
394
842
356
338
835
51
577
718
683
996
931
37
20
353
897
431
794
181
951
582
810
53
971
204
672
882
317
288
625
527
764
86
988
414
451
375
363
598
150
494
842
705
462
10
202
119
971
648
497
660
21
293
487
732
538
444
77
581
210
509
310
891
465
711
473
389
869
180
592
535
977
16
879
646
218
726
759
5
84
445
688
591
753
790
343
85
285
37
694
708
714
514
92
271
664
801
815
537
613
331
411
628
555
477
786
736
620
62
238
861
146
488
530
621
809
386
655
452
686
742
171
676
536
960
847
975
168
215
892
777
478
754
226
971
658
494
90
104
87
411
794
964
641
703
542
991
498
659
103
517
45
486
540
206
138
93
361
413
823
973
192
380
574
875
549
338
260
915
357
597
363
150
600
680
370
393
917
365
924
231
997
298
50
800
342
465
692
847
360
389
882
4
753
418
95
20
856
795
715
877
947
549
103
354
507
387
438
612
87
898
378
797
749
373
577
508
7
455
293
181
800
649
615
144
356
464
342
73
677
553
181
119
20
791
704
761
959
646
497
786
542
570
986
405
600
363
736
653
486
650
414
669
400
670
175
378
968
545
991
376
953
76
297
539
789
912
391
992
150
614
231
588
899
754
603
979
586
662
177
689
132
884
612
341
434
709
712
346
435
339
613
884
627
436
111
5
27
774
546
11
439
718
96
58
217
45
961
105
772
421
642
914
826
490
492
778
759
92
739
81
422
626
448
566
499
919
259
414
818
276
295
847
7
572
315
973
566
334
62
51
716
779
764
151
360
683
910
445
109
762
744
11
606
989
420
61
320
885
385
1
569
363
340
554
771
145
107
474
842
133
823
53
198
342
121
687
64
204
432
291
625
70
53
206
120
763
416
582
142
872
826
900
256
292
38
431
545
183
187
935
837
150
974
837
194
917
536
454
690
204
42
581
645
823
950
873
245
237
796
65
918
951
531
952
936
141
742
486
450
873
495
83
557
117
204
401
96
493
632
468
538
381
103
993
739
571
35
106
352
102
171
577
350
334
244
764
499
576
374
151
574
769
195
374
784
861
551
43
189
470
629
508
837
370
560
958
994
159
841
879
92
153
423
967
986
233
926
24
673
861
267
251
888
953
907
615
902
632
55
639
373
144
400
55
378
381
401
246
551
515
699
296
842
238
972
768
571
960
436
52
277
121
242
216
402
460
200
833
954
676
647
169
137
437
770
474
389
82
367
815
392
697
851
88
398
460
297
353
644
292
455
616
731
857
946
550
577
944
330
398
970
63
299
500
782
878
70
450
666
745
903
894
375
185
813
361
911
624
711
338
387
68
663
990
805
703
431
544
990
598
228
398
525
760
418
410
896
835
936
673
957
624
375
327
520
427
993
587
88
941
377
235
725
53
165
262
630
446
986
244
239
323
744
257
565
958
490
868
77
995
363
770
587
600
522
166
547
631
553
861
628
973
579
352
672
42
173
896
946
283
226
666
109
146
130
610
467
645
979
562
905
99
8
491
339
67
163
507
659
811
521
389
915
841
244
951
931
215
924
538
613
337
419
262
983
890
783
424
360
432
468
680
170
918
736
148
587
66
162
588
581
79
159
239
966
667
713
652
745
745
865
81
361
418
72
636
499
91
234
368
693
629
59
934
340
490
429
289
672
680
628
119
844
188
578
341
616
279
759
79
990
653
74
969
800
36
763
509
466
172
386
441
49
571
14
839
289
598
33
644
532
662
379
885
323
332
597
728
964
161
859
772
530
917
939
760
669
664
225
934
21
854
5
836
217
189
656
246
268
503
861
302
587
333
645
578
23
181
861
35
67
651
714
335
810
826
87
934
347
251
679
765
44
833
457
68
506
842
509
113
130
924
145
150
861
712
33
891
113
182
205
251
878
393
22
841
709
589
556
954
602
984
414
372
815
692
700
347
312
383
696
542
804
271
837
553
369
905
725
860
213
101
269
709
443
36
495
485
638
186
226
574
601
302
624
603
931
76
520
193
940
496
586
48
18
126
663
294
742
749
946
451
932
815
360
337
339
187
131
487
883
483
494
399
160
156
490
4
458
108
23
315
665
258
687
94
271
974
422
754
111
689
666
406
652
357
567
155
370
605
733
249
213
580
198
696
255
523
511
284
353
55
373
730
55
976
793
868
59
184
539
349
232
926
560
330
567
213
125
19
508
660
684
749
721
423
799
452
771
173
89
29
117
254
782
135
533
255
377
308
349
241
867
214
870
797
214
31
964
860
34
624
84
25
963
207
927
657
807
683
510
672
360
669
708
275
749
532
199
326
241
385
300
230
738
137
428
419
587
117
764
566
914
745
234
630
416
978
124
737
452
995
444
656
282
696
706
341
549
95
897
618
408
629
239
561
265
745
826
571
716
828
305
428
127
737
587
863
279
708
977
278
617
394
222
334
961
126
719
1
970
295
529
589
268
907
883
958
896
937
629
834
673
135
381
673
138
281
211
18
945
743
374
668
13
345
924
257
238
216
47
43
308
275
624
795
974
451
814
685
209
570
433
982
778
74
527
196
132
384
802
997
990
773
522
918
604
78
65
328
523
431
591
666
600
465
159
222
89
138
201
30
974
392
487
614
50
343
552
355
873
620
130
260
436
742
297
775
285
156
852
65
876
661
18
901
118
460
619
852
478
18
777
35
446
227
580
45
921
139
330
17
824
636
730
22
278
1000
841
73
812
275
687
116
338
682
167
275
107
141
321
497
457
90
56
480
921
411
167
442
192
247
834
852
507
888
842
708
251
705
414
343
971
329
922
16
519
877
716
734
770
45
979
871
185
334
816
111
535
474
747
216
238
387
421
875
119
649
606
651
853
477
488
668
12
721
863
206
429
197
86
811
514
987
522
911
315
987
814
123
320
79
500
653
473
800
370
239
399
248
505
40
611
301
100
790
323
917
30
292
558
384
610
43
436
937
158
361
883
71
764
892
502
201
158
807
49
90
667
284
735
571
56
126
608
681
448
464
357
261
654
559
213
427
937
643
61
134
697
589
457
171
561
958
53
565
142
635
821
315
43
825
537
807
751
665
248
43
741
68
806
29
439
734
100
287
699
417
333
465
113
666
533
468
751
251
497
330
939
385
555
327
256
700
844
446
252
624
280
388
295
459
35
747
561
997
155
857
417
931
855
85
366
691
180
10
260
578
954
23
731
237
379
365
632
563
193
525
833
127
64
196
886
76
750
740
929
246
629
181
667
937
375
288
466
365
932
246
362
352
450
723
276
184
500
894
848
925
731
124
70
660
98
578
345
300
931
952
684
607
422
917
486
33
530
628
793
818
941
801
908
573
464
500
39
177
156
695
969
454
580
117
786
515
783
682
409
59
6
995
957
200
662
56
38
588
830
294
661
684
366
508
794
62
729
92
569
506
824
209
734
512
450
165
244
497
448
343
816
686
280
469
874
149
542
885
523
909
902
733
139
422
18
680
689
938
288
846
132
445
683
124
94
955
505
964
584
867
615
988
660
23
606
515
811
845
402
204
337
660
977
516
115
899
263
647
9
356
792
899
588
132
318
218
994
172
477
744
524
550
524
789
982
778
322
624
897
460
60
793
485
531
628
467
619
206
159
525
136
480
53
615
525
713
676
452
413
384
30
14
293
577
903
69
624
133
416
703
768
709
398
126
240
158
762
30
382
743
856
254
896
723
847
267
632
725
281
304
648
184
372
560
831
793
986
949
328
598
961
378
579
862
194
336
59
288
857
895
661
536
242
866
280
221
963
975
337
737
684
369
851
330
124
692
228
801
786
258
79
122
791
555
249
9
201
436
736
204
453
865
301
815
835
21
421
571
507
885
681
237
179
190
817
794
431
741
417
166
616
682
710
444
422
232
974
570
488
777
822
389
890
986
57
842
933
785
813
808
454
612
451
768
752
358
15
52
325
805
113
863
854
170
747
702
235
558
975
58
17
771
279
447
299
910
157
982
4
652
788
637
447
914
557
317
297
845
879
628
342
750
13
979
972
585
509
290
901
140
510
93
476
852
395
273
837
523
124
30
337
830
239
916
853
637
665
954
71
602
341
891
388
450
231
661
800
610
455
962
57
604
124
666
365
693
946
469
183
816
839
786
936
764
593
388
59
893
76
715
400
394
621
94
846
291
994
320
50
896
786
193
231
406
155
647
329
676
601
16
270
6
860
882
661
916
34
658
31
495
854
747
640
893
258
675
948
915
585
76
83
474
290
781
22
890
488
552
736
600
593
189
280
909
990
853
631
795
980
431
109
644
208
689
383
20
401
792
385
217
532
462
934
401
442
704
527
598
563
554
518
653
619
731
881
561
94
468
864
233
801
988
63
864
120
313
918
533
341
124
173
592
54
373
579
665
754
230
15
830
627
746
245
626
12
269
715
90
168
298
175
914
798
919
393
182
229
411
935
873
300
914
767
434
751
266
456
340
371
268
854
451
239
654
467
379
142
983
140
841
653
549
318
151
424
107
881
569
955
934
485
246
466
259
424
880
546
612
239
989
921
981
691
956
28
998
289
554
86
525
215
744
4
130
388
920
758
956
393
619
883
376
187
975
280
659
818
809
882
592
851
315
615
635
874
773
691
709
210
546
533
189
946
940
507
984
461
129
229
873
930
485
391
415
690
80
969
805
905
89
158
52
745
68
594
711
133
829
258
185
204
717
947
327
769
647
350
658
490
156
588
3
933
67
532
802
376
127
339
630
37
74
425
701
413
194
526
261
505
352
587
809
49
857
980
24
291
291
935
135
453
618
135
204
829
442
160
493
318
314
802
598
325
351
329
560
167
243
459
512
511
940
125
711
919
907
130
11
281
870
446
901
748
409
189
286
838
552
316
43
494
815
670
249
255
736
300
663
152
18
916
722
581
862
910
780
208
920
655
834
907
581
672
276
837
970
814
485
22
134
850
240
237
367
686
993
551
523
999
11
620
482
246
291
734
623
828
923
617
280
731
279
229
687
68
988
141
821
793
200
587
912
309
992
951
116
813
155
289
980
6
764
449
909
218
112
502
770
116
586
488
166
866
33
933
647
74
997
190
340
847
973
436
23
60
469
61
702
270
268
264
95
764
700
916
286
878
182
109
954
119
509
385
265
561
611
322
481
687
572
11
791
116
718
969
709
674
487
226
603
817
617
601
576
773
910
715
971
639
456
896
239
291
742
928
746
219
517
560
394
269
612
781
599
878
206
138
247
555
146
799
729
290
34
620
94
31
749
227
592
635
952
997
662
456
908
874
466
307
669
153
649
626
228
717
885
520
795
743
133
820
718
528
256
390
938
952
784
726
36
44
204
317
111
270
40
305
714
456
443
768
65
695
689
314
563
228
235
770
409
991
523
428
786
520
720
717
635
900
992
178
507
735
686
304
401
469
34
159
715
956
570
681
702
856
510
216
867
300
739
163
774
290
909
560
632
446
360
59
857
57
266
34
511
870
403
479
175
672
454
969
327
549
578
175
748
617
278
352
827
153
260
766
897
309
59
249
872
1
707
923
560
169
612
706
962
290
103
339
776
960
821
571
89
377
255
585
955
764
210
951
136
130
969
157
795
272
200
261
344
611
422
326
963
247
984
68
542
626
71
595
894
341
178
192
174
888
911
867
335
627
686
767
324
841
118
641
483
515
454
225
248
390
391
829
847
934
35
397
145
70
535
17
173
929
145
206
156
416
94
258
72
65
629
647
829
566
73
728
199
286
519
10
534
351
65
823
96
118
112
561
585
396
318
536
66
369
234
136
19
14
554
189
698
711
123
344
322
892
589
858
888
797
609
357
537
858
50
67
490
797
505
470
537
231
739
591
944
514
404
912
421
539
462
441
506
457
287
593
287
615
341
368
934
524
632
760
865
343
946
470
753
192
941
760
747
575
772
729
449
353
874
374
206
984
873
563
221
194
396
421
842
881
698
725
140
762
630
594
539
256
442
133
843
113
334
740
473
570
443
451
103
187
179
26
167
59
443
526
920
804
251
715
814
583
758
992
962
425
462
495
378
277
654
629
498
571
783
584
194
522
486
313
165
54
484
44
60
28
395
642
201
395
807
44
66
10
619
556
987
96
737
991
641
772
715
544
28
646
813
770
553
174
248
275
734
410
140
528
866
787
734
718
600
794
39
724
73
736
913
97
666
333
1000
381
907
504
620
261
364
596
880
778
559
221
840
297
110
51
495
9
301
204
715
470
261
283
66
131
744
771
581
817
297
216
168
864
222
587
311
996
344
226
112
28
41
83
541
191
395
294
953
199
584
694
556
185
855
593
527
277
500
952
903
912
255
154
210
922
479
698
22
85
263
499
309
74
344
929
451
716
356
399
284
6
444
58
404
632
750
138
196
620
597
594
776
294
471
931
86
947
61
532
870
518
666
403
191
47
281
942
395
929
526
252
185
777
388
562
553
222
428
505
859
135
704
381
243
564
170
12
930
121
725
511
692
729
390
64
890
344
331
843
77
784
561
286
85
812
209
273
909
418
155
199
435
630
726
512
266
239
845
94
485
548
741
742
141
628
859
107
704
576
92
659
480
979
851
659
211
113
751
642
706
400
899
624
347
314
879
98
765
223
493
904
786
632
282
227
22
891
629
278
89
755
982
747
525
55
372
685
892
392
922
335
468
972
502
329
147
614
18
808
886
533
96
259
98
706
57
316
886
493
180
300
908
740
185
60
967
745
793
504
121
326
958
314
232
727
93
493
383
244
207
762
534
269
349
358
95
915
203
420
869
494
960
993
927
928
854
672
556
575
834
15
366
60
930
178
8
454
764
666
727
519
550
679
151
841
649
341
301
344
420
967
785
79
683
635
564
196
561
546
434
706
872
48
625
963
514
737
497
802
484
758
341
925
263
271
745
440
317
88
769
398
361
611
464
840
867
578
884
93
997
554
792
41
795
795
742
634
999
851
56
191
271
278
506
938
1000
888
166
764
86
268
20
431
267
688
346
313
632
111
848
286
922
750
772
568
113
483
959
152
550
510
917
972
606
826
486
86
426
417
636
991
830
648
224
629
856
924
316
768
741
576
808
247
365
888
621
958
311
302
734
589
724
168
646
839
110
826
658
271
47
423
528
2
548
638
637
134
463
396
805
238
898
731
256
198
76
193
94
420
456
583
794
758
227
325
867
488
454
521
878
336
280
546
390
854
589
96
286
431
421
739
119
812
288
363
819
305
221
383
106
792
55
223
445
221
934
364
222
534
535
212
107
878
782
149
232
505
143
378
898
974
709
601
38
166
372
155
508
118
341
938
638
895
158
364
136
542
145
627
588
663
892
742
281
322
24
210
44
787
963
641
95
64
829
354
656
353
934
799
216
264
543
621
887
129
720
317
266
795
101
754
545
51
374
241
433
235
114
469
582
630
353
395
817
985
951
51
467
837
370
360
460
389
956
249
674
321
202
741
241
314
747
265
89
23
62
113
67
890
875
825
392
536
397
304
15
376
298
635
711
780
235
891
383
352
429
713
92
827
430
68
789
705
743
390
600
961
433
276
776
91
171
979
92
301
440
239
583
867
782
395
962
577
36
295
1
667
482
247
412
879
701
180
514
92
727
155
58
469
786
649
121
234
479
329
897
990
820
576
539
959
896
678
969
643
277
442
697
191
507
953
239
181
140
339
711
631
831
713
505
784
903
893
746
627
715
120
397
160
851
753
465
147
850
840
750
449
752
533
970
74
214
565
908
761
306
358
419
257
436
929
765
433
974
401
753
57
311
834
589
335
50
68
190
310
954
461
927
809
89
713
431
945
336
475
145
69
48
33
738
694
195
211
410
149
765
536
326
607
540
840
154
728
625
733
723
330
263
799
322
414
544
936
53
359
580
3
965
324
612
817
384
708
287
597
972
29
33
122
598
724
88
287
981
214
200
175
438
983
462
502
795
621
44
78
663
485
820
913
831
115
998
748
497
613
933
80
411
947
200
180
779
538
883
249
951
556
801
585
508
58
1
560
337
486
485
303
695
52
554
188
49
247
564
624
706
22
161
200
834
214
268
919
525
425
169
123
965
878
84
725
594
747
484
517
408
52
269
677
181
540
603
50
430
843
886
431
435
859
815
872
453
490
991
977
558
826
830
273
217
388
820
976
772
266
312
929
531
886
104
31
3
620
59
229
186
688
862
21
462
606
818
469
809
944
291
908
543
320
965
924
727
350
623
641
726
742
561
71
130
862
46
76
389
852
487
482
90
833
69
36
730
814
687
157
233
665
932
921
206
931
718
310
119
310
936
496
174
338
127
896
621
201
793
768
657
623
374
370
873
439
369
88
408
855
295
477
564
326
430
873
708
706
346
70
647
571
255
593
560
635
114
241
757
755
226
921
215
339
830
269
883
879
767
180
196
927
882
178
113
92
233
501
266
524
548
891
477
913
619
312
985
263
465
287
212
541
210
72
808
871
539
651
984
84
517
392
891
310
320
299
881
782
130
920
27
168
42
403
211
568
335
658
390
777
856
266
428
532
629
596
14
244
957
593
712
142
476
799
191
868
623
506
21
280
926
355
188
641
387
329
668
443
962
822
994
791
833
420
703
691
688
68
993
581
763
560
675
151
714
652
755
810
713
668
560
196
361
135
368
735
57
876
912
598
545
973
977
357
196
208
531
253
452
879
480
295
562
414
212
310
366
804
518
688
431
698
359
780
274
930
231
844
772
382
528
963
90
317
416
592
640
764
194
270
641
100
35
531
830
693
291
274
746
388
243
654
797
629
332
78
27
241
360
38
68
214
157
316
302
393
466
562
642
606
604
388
675
596
543
860
119
127
663
751
694
739
338
969
529
953
910
347
172
137
375
374
123
907
265
504
561
631
799
408
599
593
391
888
968
391
954
219
504
408
270
348
189
579
908
752
799
197
758
716
369
250
308
467
835
567
177
921
159
147
283
730
214
132
248
974
471
280
286
104
284
216
893
672
205
434
71
988
250
765
741
93
558
6
223
306
143
513
357
226
777
800
925
212
135
641
515
303
463
696
869
16
935
482
56
679
813
321
514
784
259
13
140
332
374
123
91
323
607
170
931
320
217
493
46
507
844
249
27
775
604
824
843
146
306
914
182
272
542
665
305
869
445
586
115
641
818
344
909
709
229
221
468
569
386
721
722
363
790
761
203
571
218
964
907
325
69
765
996
150
985
484
950
354
438
999
426
242
177
427
73
980
529
996
10
280
526
376
468
4
783
864
382
435
844
144
310
212
426
856
174
903
653
808
703
737
885
474
393
286
191
388
2
798
873
121
346
417
693
801
170
763
628
582
420
212
29
987
107
737
50
842
252
369
82
363
128
152
720
17
116
9
473
988
8
36
45
412
546
585
495
86
269
955
13
988
527
634
369
825
647
795
291
737
776
222
192
493
906
880
670
756
939
149
177
468
418
96
74
24
734
245
64
622
200
14
647
161
361
356
806
61
329
187
627
682
707
830
890
340
895
101
22
521
167
600
917
548
946
474
308
839
120
193
297
907
75
868
646
391
366
245
171
787
590
810
357
967
73
348
930
268
441
900
634
681
31
331
940
656
318
583
739
122
275
282
330
591
612
572
176
642
362
909
976
642
160
107
562
300
871
68
16
539
936
522
198
220
903
542
537
424
139
814
582
405
662
394
275
782
329
185
335
257
391
491
462
935
552
749
294
328
224
20
161
245
628
874
753
76
763
75
719
425
21
858
94
642
415
665
197
597
970
905
292
915
800
701
890
1
816
587
35
409
783
815
291
479
682
284
447
725
916
78
133
161
949
272
654
600
364
960
349
964
196
440
677
841
591
102
84
819
531
838
392
631
378
751
105
765
486
505
550
6
955
916
231
306
907
294
87
505
316
594
650
672
515
649
217
264
5
648
229
877
54
530
51
81
924
156
177
733
215
966
718
214
978
327
689
191
751
915
236
938
582
308
421
674
470
411
623
125
362
468
911
287
18
194
972
369
574
988
317
49
637
282
502
424
55
840
78
545
326
191
794
979
756
491
360
640
70
763
729
34
160
904
412
143
75
807
845
397
120
685
174
586
175
7
115
82
942
433
778
486
843
817
372
606
744
654
782
756
478
277
879
476
407
798
255
143
900
981
787
379
649
263
93
856
216
637
444
833
48
442
153
757
499
938
828
337
40
153
90
778
944
689
567
277
216
22
998
450
431
412
291
111
446
663
224
685
668
867
308
603
651
727
966
217
349
218
843
126
256
167
518
334
989
779
320
301
645
274
277
805
370
565
429
493
146
352
876
139
774
97
977
938
362
80
48
581
430
162
744
512
901
913
101
473
841
503
838
416
790
106
99
893
929
623
302
298
137
172
122
703
168
182
933
580
844
884
220
409
129
676
579
9
408
129
917
470
118
369
386
700
120
212
389
957
829
673
738
195
216
435
660
703
187
443
877
306
775
30
457
343
809
892
443
756
412
791
560
875
765
73
424
897
74
968
780
662
543
153
245
17
490
274
916
990
427
918
2
6
64
73
313
598
680
227
56
411
280
89
876
817
235
372
499
129
901
212
661
209
797
544
208
281
529
243
401
858
559
867
496
20
318
646
585
703
920
709
583
294
887
651
943
554
926
219
383
848
745
286
468
700
315
310
341
962
773
163
319
230
380
530
310
717
559
119
234
486
48
538
712
788
648
18
303
277
866
140
461
50
994
317
228
752
816
93
388
511
178
223
420
77
131
128
170
334
186
513
553
319
545
906
980
979
792
363
444
159
646
865
364
731
865
759
357
360
262
152
72
125
129
327
110
100
50
119
838
52
194
658
588
600
728
65
346
556
893
469
529
659
606
207
864
592
247
172
698
13
355
60
295
267
585
692
807
653
186
704
628
333
638
606
805
499
872
643
18
953
647
952
380
71
268
195
5
3
791
265
818
58
283
641
590
442
486
698
546
923
457
583
163
505
353
292
9
944
578
212
527
745
903
731
710
330
22
449
496
205
253
176
552
313
720
169
818
210
407
988
835
353
957
956
395
587
911
443
513
859
401
103
53
297
936
757
599
60
58
813
345
770
82
14
798
933
68
804
121
461
459
814
762
325
521
781
860
383
848
744
560
658
717
480
1000
654
982
984
234
877
556
235
747
313
261
639
559
523
959
287
121
934
444
635
355
78
529
277
199
807
120
244
986
978
850
649
821
692
10
590
883
942
114
896
226
443
401
706
236
503
999
884
371
989
258
970
183
893
971
682
913
466
825
19
144
674
438
631
93
510
756
457
131
760
438
589
16
978
78
941
175
720
767
575
54
625
543
491
215
514
750
253
380
500
167
85
71
55
62
978
844
75
996
888
357
236
272
352
703
396
426
688
459
317
60
501
934
753
594
378
927
829
250
526
117
656
669
556
908
374
110
839
123
120
79
585
472
970
587
342
113
549
978
686
952
842
393
649
557
715
507
912
656
794
136
816
291
629
645
58
566
567
909
280
834
291
701
870
895
818
12
974
447
618
755
110
596
616
742
804
697
55
587
324
210
609
422
977
486
639
910
387
650
242
87
850
801
535
938
162
784
683
519
290
672
322
607
858
947
346
546
733
64
540
999
899
722
148
774
402
709
267
749
422
621
920
201
395
102
754
519
697
523
578
362
599
155
375
808
81
979
988
949
632
246
428
670
319
757
635
76
283
660
538
132
288
223
523
610
133
639
696
361
503
448
919
255
349
553
196
891
977
122
863
302
817
915
994
447
264
668
567
233
109
239
253
178
764
146
112
592
965
964
102
339
624
831
80
810
263
950
863
741
823
556
22
906
665
274
293
496
261
203
896
236
428
312
572
874
944
947
878
720
45
357
99
322
593
111
195
222
713
248
327
938
260
756
857
11
811
758
187
956
781
363
451
467
848
720
849
40
152
219
383
483
594
145
851
448
157
375
211
203
357
797
865
346
831
288
968
62
585
984
613
844
588
504
620
264
292
549
711
543
97
8
44
158
976
287
447
650
249
89
185
167
10
290
788
951
769
848
277
198
706
954
103
206
339
699
272
723
504
634
394
765
292
487
877
932
3
188
54
440
212
83
843
660
783
897
405
958
28
562
390
999
227
499
554
525
434
339
935
766
804
326
329
316
708
869
484
274
514
783
307
931
273
776
373
54
456
656
222
126
574
525
216
479
725
987
251
367
108
995
225
446
92
506
966
3
688
580
294
559
186
857
957
120
267
665
487
473
113
105
408
364
919
596
824
337
742
267
136
290
788
519
519
504
102
846
866
45
108
675
49
935
600
624
766
416
610
48
712
981
15
176
498
566
907
446
566
456
481
870
327
997
686
405
888
185
910
320
30
537
790
511
547
451
566
548
652
414
522
14
950
16
740
329
354
708
750
845
434
643
747
464
891
736
648
392
264
293
686
969
482
168
160
660
630
426
680
422
87
929
504
669
276
75
552
939
371
183
317
212
677
632
136
548
865
955
258
323
877
502
699
915
103
185
160
83
421
70
152
690
739
270
55
618
992
650
39
937
935
396
664
406
666
331
484
406
523
208
179
250
924
915
574
619
712
610
410
549
816
361
865
26
368
771
652
700
923
408
989
696
134
604
828
769
8
314
553
306
899
303
756
791
501
875
795
398
402
707
620
300
225
160
696
155
975
568
973
962
979
631
521
167
711
5
856
423
908
574
978
950
558
711
864
736
777
22
461
187
121
695
247
973
553
589
84
931
194
627
365
901
945
897
465
269
277
80
95
814
788
517
456
176
614
214
9
903
422
605
290
549
506
715
413
768
451
649
847
662
938
25
576
936
543
15
991
528
766
185
729
501
146
210
189
905
4
814
670
246
281
42
874
941
966
46
59
866
795
96
247
684
296
474
720
143
726
211
490
959
143
390
560
204
672
876
581
344
4
879
905
211
305
726
185
224
12
572
359
101
431
560
310
186
678
103
508
239
236
563
702
211
364
570
52
100
616
644
173
434
6
554
195
342
726
87
328
429
845
496
384
876
163
918
392
287
207
484
717
808
401
682
98
949
583
747
608
361
394
545
839
552
531
409
544
136
481
903
547
766
186
306
9
333
991
915
999
360
373
912
916
789
189
650
511
494
607
680
115
953
463
758
232
462
505
346
828
152
895
857
481
889
360
992
76
771
602
39
849
608
918
932
437
201
508
204
11
710
611
706
723
677
425
110
469
510
777
748
394
368
599
347
667
407
627
511
803
318
108
641
195
886
989
118
603
128
762
169
39
144
89
831
886
465
400
817
79
82
889
887
906
781
717
547
294
651
767
502
450
845
36
306
390
783
532
101
196
950
648
145
786
410
65
70
645
922
631
490
192
298
101
574
448
275
283
717
213
678
915
254
225
140
566
477
705
938
934
849
187
825
209
439
824
831
552
39
166
121
358
373
984
964
655
63
870
714
925
757
184
546
639
921
448
323
23
327
393
624
925
193
703
419
138
251
980
320
259
794
525
648
926
847
370
773
300
206
383
310
789
25
388
813
275
985
961
518
614
881
11
569
715
604
257
888
327
110
476
526
547
926
746
894
149
173
941
756
61
855
418
223
713
391
178
311
514
977
789
769
416
385
988
28
397
227
217
110
670
553
300
216
641
895
85
599
929
491
163
978
259
514
712
419
660
547
87
154
228
438
54
211
620
934
436
117
591
154
530
165
115
69
839
914
83
627
565
649
117
65
815
493
784
245
666
775
390
569
78
998
559
139
129
490
14
338
224
378
334
953
699
68
965
272
761
791
447
353
767
114
625
784
683
543
611
819
940
440
386
723
53
560
248
541
59
428
728
249
291
613
234
451
3
752
432
347
141
797
290
698
863
549
797
905
503
6
575
122
302
435
36
530
606
376
222
519
214
946
220
529
216
953
859
755
974
294
433
726
843
57
363
24
899
534
14
51
152
98
390
805
726
517
54
70
31
814
422
320
203
230
516
875
36
185
384
536
115
401
649
26
152
500
70
18
338
466
569
461
90
323
918
190
742
277
161
543
570
339
890
784
38
153
699
689
309
331
489
555
882
142
823
235
649
754
175
539
841
608
772
482
55
673
692
422
34
503
9
81
927
25
100
807
539
939
648
203
437
466
503
442
899
925
311
144
344
279
757
701
305
379
319
321
3
78
684
873
286
784
360
806
15
315
543
58
1000
88
31
847
229
800
797
724
438
733
885
32
56
755
425
218
149
901
905
39
302
108
328
793
288
366
510
139
964
37
558
944
99
542
536
875
719
999
433
102
140
602
787
601
42
724
771
995
849
789
88
799
172
919
788
219
276
261
969
359
378
666
414
829
59
102
370
234
239
761
58
984
988
357
24
162
877
473
76
968
728
199
406
364
379
458
480
122
535
597
384
416
837
835
648
494
57
99
991
689
726
643
51
256
531
586
930
66
583
171
274
195
984
118
736
843
179
910
843
812
249
235
720
986
651
101
642
857
890
317
100
190
300
134
916
318
361
880
956
394
12
263
156
196
987
913
912
686
507
399
359
596
596
614
683
784
868
954
459
939
881
151
881
502
73
982
929
355
830
309
732
884
473
102
829
546
806
121
591
935
421
940
821
673
98
866
400
123
527
80
928
78
42
39
490
70
223
766
34
873
31
154
364
124
610
837
424
712
1000
491
361
721
796
635
859
296
222
168
342
720
166
877
971
396
488
121
791
143
306
726
985
469
15
889
984
981
539
555
54
149
652
286
112
7
264
129
706
167
224
351
504
763
569
216
193
512
93
164
350
149
827
835
749
867
270
415
555
285
220
662
21
636
657
819
645
587
405
305
218
100
253
753
832
212
780
452
711
515
405
726
671
312
56
124
143
192
441
536
924
769
92
528
278
869
256
249
540
337
195
236
148
913
694
330
896
365
353
688
237
169
805
579
689
530
96
259
734
499
305
697
118
248
950
370
130
303
823
627
268
705
694
386
666
591
772
9
821
665
858
289
411
390
920
377
503
491
197
364
985
551
995
960
901
56
78
390
199
240
902
190
556
464
988
60
126
684
397
295
459
758
635
642
387
954
283
574
370
50
331
100
650
848
473
237
575
732
623
163
627
172
493
902
2
705
383
102
90
963
264
128
824
807
800
172
663
465
243
593
945
849
1000
984
416
907
254
773
29
950
234
279
538
371
585
249
939
87
848
851
598
320
201
991
757
47
500
602
163
573
129
245
767
188
312
971
803
786
380
876
44
709
932
222
743
730
949
284
547
334
707
332
686
925
768
263
865
596
417
465
574
438
659
400
1000
148
292
274
308
867
642
899
841
763
248
516
698
853
166
923
220
978
579
715
159
629
107
828
687
519
524
870
925
444
600
902
421
964
451
443
800
881
55
472
889
311
598
108
715
398
918
483
179
362
573
10
613
613
38
931
130
128
87
513
425
168
684
742
661
648
608
687
167
188
581
980
949
923
915
8
418
665
525
481
338
883
731
19
700
296
409
283
138
552
924
939
539
594
763
474
694
856
950
451
209
303
106
301
381
735
526
175
449
439
725
676
415
489
717
538
654
488
696
421
625
539
907
54
326
582
224
885
575
16
353
241
784
680
656
781
695
874
287
654
429
80
719
363
299
429
762
801
60
790
848
309
646
519
720
893
22
577
651
915
430
697
953
698
207
733
878
468
351
151
958
968
166
864
451
919
664
249
857
188
871
250
388
201
830
913
858
625
872
582
730
823
695
231
955
926
891
119
762
595
814
987
837
752
113
572
143
592
830
35
193
170
684
265
765
741
51
693
888
819
210
369
420
611
606
587
708
65
245
265
610
308
850
606
635
639
71
336
87
551
884
917
853
511
258
738
944
323
358
192
951
962
798
948
353
687
938
490
19
115
820
146
266
652
84
463
612
404
156
722
677
176
36
811
760
718
282
474
264
698
152
159
517
210
405
282
506
789
994
796
721
14
701
315
586
797
799
933
949
345
998
79
695
602
239
417
862
741
401
842
530
829
610
75
391
414
639
250
102
148
843
113
488
962
156
180
163
525
987
242
387
924
206
123
850
516
53
469
578
923
481
670
365
996
364
711
966
371
35
867
779
916
811
672
909
996
532
529
299
956
652
655
100
657
72
783
561
197
756
228
492
201
133
404
806
157
429
933
730
345
383
747
998
825
221
451
797
815
398
317
229
534
362
906
827
245
531
289
994
813
712
230
291
556
482
511
157
550
376
767
19
826
313
821
703
113
380
547
763
857
939
686
599
256
49
890
253
968
366
511
350
962
981
285
961
713
189
129
83
551
761
706
23
542
128
299
234
689
819
794
28
621
607
245
181
154
63
589
637
320
670
556
399
471
187
725
230
90
720
973
960
781
803
270
41
724
886
891
487
556
784
642
496
245
14
604
856
27
472
263
694
898
552
603
266
435
632
896
255
1000
865
488
477
462
307
816
986
619
737
270
327
475
972
272
68
329
74
143
831
422
615
881
722
536
94
996
468
510
657
908
570
101
514
250
479
22
846
597
138
248
499
787
246
886
523
975
208
13
403
48
114
864
902
806
985
699
562
585
203
464
259
635
278
94
672
623
68
955
182
72
151
425
498
437
277
80
258
766
765
299
963
587
241
339
868
733
342
115
862
316
880
964
957
957
488
677
731
660
956
925
947
464
308
15
646
78
154
612
170
266
36
629
959
638
245
29
474
867
124
664
246
73
909
622
902
260
13
742
992
258
56
121
569
573
22
451
778
893
724
977
159
813
84
709
980
465
884
284
658
366
269
519
274
769
737
292
242
182
312
827
435
558
335
867
447
831
599
490
229
108
604
520
27
844
310
582
400
750
109
863
137
17
697
529
19
683
134
608
739
611
679
814
737
603
913
476
378
617
232
234
676
956
99
615
712
510
263
959
19
871
795
410
459
177
942
862
529
57
727
784
633
932
688
882
546
235
409
357
236
812
267
386
213
896
359
76
782
553
715
786
963
428
707
189
305
954
35
885
530
932
790
654
753
523
884
705
1000
257
545
371
898
609
699
765
686
74
788
831
169
424
970
77
824
22
730
61
40
643
626
311
385
240
278
968
883
502
727
904
499
828
985
439
419
577
932
72
281
45
712
836
164
659
441
985
62
286
339
720
516
411
372
579
305
147
111
933
378
725
782
745
720
120
445
397
460
963
782
895
348
732
282
250
652
496
458
129
644
159
323
171
124
229
563
496
807
641
714
11
27
35
165
93
895
224
32
103
964
260
731
981
494
647
642
850
602
753
343
166
945
417
760
463
91
61
2
123
416
373
800
961
165
753
232
606
327
296
849
793
84
10
437
741
907
355
336
699
808
945
723
621
889
451
240
671
40
295
135
913
630
751
411
133
40
432
521
192
162
968
842
688
361
868
480
16
944
190
970
68
877
661
97
958
347
296
337
127
784
427
431
99
126
276
196
10
429
851
949
703
408
998
896
850
145
907
375
90
965
221
125
603
469
181
658
908
784
907
336
899
383
998
14
332
215
137
954
7
496
260
249
893
209
171
187
290
280
182
822
952
412
466
514
747
783
351
354
42
150
691
203
527
443
780
538
567
554
50
420
509
912
881
667
608
359
457
779
320
23
537
216
810
145
360
399
403
302
705
211
598
31
280
812
2
669
206
323
203
101
349
295
170
218
652
899
244
81
411
472
165
225
666
394
850
23
471
246
858
777
835
897
555
38
564
415
996
665
56
729
469
326
327
540
451
437
227
289
447
40
827
904
817
759
423
647
253
739
465
642
952
471
16
542
960
458
970
370
345
989
395
789
63
665
824
905
423
941
219
269
56
619
644
894
141
192
376
971
455
903
320
449
492
644
76
800
499
150
983
111
782
451
753
90
38
233
75
721
801
563
702
49
314
435
93
46
231
716
627
576
661
371
796
224
927
293
520
175
329
683
934
372
917
669
563
901
940
777
793
933
245
963
954
563
307
112
107
595
19
323
861
635
608
834
147
872
263
144
900
581
147
741
22
663
465
865
842
552
200
887
514
385
901
242
456
660
674
303
972
506
128
231
662
292
575
646
87
563
235
888
436
162
516
763
594
992
734
923
131
66
764
454
188
361
195
806
138
548
550
957
228
823
981
564
71
919
650
912
11
888
721
674
893
359
444
838
672
839
353
687
674
38
986
377
16
366
876
478
878
482
771
841
826
266
157
273
394
617
238
815
454
275
416
844
699
229
207
854
736
377
252
514
854
765
765
522
547
164
315
868
247
710
319
312
529
83
997
320
265
973
828
204
809
647
750
925
317
11
422
892
746
950
896
73
880
626
932
928
12
65
42
979
506
666
29
334
565
145
460
99
952
65
2
424
296
334
53
867
870
942
376
868
424
797
765
402
721
710
888
267
922
460
544
80
856
409
534
754
532
297
230
115
918
716
702
401
173
236
981
533
8
327
599
436
782
18
87
206
287
699
491
551
901
608
309
815
932
320
467
816
551
957
74
910
631
998
737
974
207
229
176
438
38
857
689
127
901
808
818
409
868
996
194
92
783
672
118
567
551
37
910
936
669
961
444
241
622
990
552
477
384
833
194
739
287
170
388
746
956
923
873
957
816
107
435
706
951
3
591
75
708
658
96
722
510
666
340
507
798
780
234
574
880
117
669
473
732
678
908
20
499
406
610
870
480
266
269
175
928
680
979
297
827
172
360
242
183
297
409
422
998
721
782
343
273
865
729
47
866
626
503
490
982
562
557
540
392
321
263
954
214
293
210
523
253
161
333
547
432
543
308
947
804
937
613
603
12
983
674
975
822
415
300
660
541
179
399
290
699
859
628
127
383
980
181
742
2
736
403
442
40
410
306
464
600
74
329
505
130
162
886
873
750
166
367
389
21
6
206
169
849
589
609
616
421
714
302
253
758
733
403
504
482
319
144
203
882
310
727
360
212
790
3
693
429
539
44
539
253
470
913
4
527
969
122
641
316
839
294
532
118
152
570
353
829
451
137
917
819
606
65
721
610
114
336
212
149
798
514
871
587
657
57
709
837
91
643
426
898
854
227
346
93
853
744
174
903
348
534
814
59
212
572
723
908
645
539
775
827
134
633
187
665
529
752
827
738
803
345
157
935
452
816
114
851
497
813
487
675
763
126
726
793
425
210
656
638
828
525
283
382
227
1000
728
453
402
925
340
728
98
484
191
468
804
967
527
715
737
418
169
925
756
96
545
61
587
690
806
249
947
642
429
355
63
286
822
518
669
795
714
779
735
39
512
403
97
571
406
413
662
903
718
140
44
131
891
312
347
732
536
318
286
82
193
782
7
806
774
557
772
606
208
522
126
600
443
356
319
543
821
571
489
514
784
669
601
777
44
217
162
577
616
17
544
559
576
317
115
349
16
174
426
608
418
681
463
503
599
737
293
122
452
462
506
847
929
129
504
45
120
724
51
755
809
833
495
222
591
603
703
246
498
910
95
287
84
755
96
219
100
98
969
412
208
5
263
554
655
55
31
268
496
370
605
89
704
529
895
828
506
893
165
703
340
518
711
849
140
959
165
994
24
717
955
175
83
7
13
287
672
803
15
207
488
840
235
966
797
362
650
157
325
926
40
372
722
498
653
948
18
402
482
733
119
445
303
878
280
666
411
901
416
707
436
407
279
777
682
846
827
546
221
685
535
45
330
174
31
868
968
672
194
525
657
140
759
793
549
984
568
314
448
907
824
477
273
805
93
841
771
24
356
973
288
499
93
568
66
380
258
195
842
772
996
785
478
105
152
273
996
498
899
415
649
165
352
858
605
584
624
21
414
643
604
175
662
469
664
418
127
932
640
876
331
140
654
589
546
341
800
990
252
759
272
812
513
842
245
530
953
281
711
188
867
959
529
541
443
666
109
984
305
20
561
662
324
548
599
480
147
273
205
484
14
487
849
226
205
607
58
261
886
146
267
913
231
851
166
782
434
29
230
253
626
904
692
440
778
623
17
568
389
176
827
816
106
72
316
1000
503
84
430
312
864
743
452
521
214
586
203
647
802
289
751
176
912
995
391
259
184
81
653
222
577
560
292
915
764
125
498
98
982
548
97
90
339
811
106
402
128
828
820
891
986
132
565
291
607
176
343
607
292
210
858
993
847
812
852
165
172
263
226
352
464
883
170
50
104
366
419
571
151
905
767
488
864
620
220
597
833
377
463
946
88
596
893
812
43
78
91
247
251
162
448
959
708
775
651
850
892
63
860
477
824
320
701
97
157
864
655
675
718
401
33
481
12
112
483
412
846
407
884
227
692
844
596
226
349
162
205
752
221
799
359
64
816
512
767
780
94
937
196
60
957
2
107
195
436
143
613
23
157
135
603
904
240
227
197
572
96
943
181
279
499
569
724
78
917
872
430
966
326
44
790
863
632
206
147
125
389
71
587
299
725
520
579
392
237
911
740
767
170
916
881
114
365
574
326
629
304
3
561
667
81
946
496
643
277
887
924
891
524
6
325
507
28
638
805
967
404
231
790
440
1000
988
83
259
295
576
21
999
38
234
767
945
579
624
225
530
198
595
664
474
349
765
915
959
401
513
898
156
874
543
351
815
161
620
808
431
445
508
331
701
824
380
978
627
691
197
728
596
40
628
441
243
694
107
415
698
418
507
307
76
485
775
480
717
571
530
343
721
753
325
866
793
12
761
273
269
854
96
836
476
603
360
823
236
442
212
908
434
519
960
767
28
311
215
155
811
929
639
511
494
287
115
3
430
854
458
971
376
227
480
948
244
911
812
767
687
494
414
799
724
895
73
10
336
451
557
382
107
411
276
193
547
841
452
815
682
8
830
960
864
106
903
773
531
526
483
769
801
1000
181
370
411
612
51
725
438
62
198
568
702
612
627
95
506
787
6
244
587
296
272
279
778
583
237
317
898
121
419
252
791
831
347
580
307
994
488
762
226
649
777
128
779
735
433
771
484
175
396
527
463
703
234
952
256
458
838
121
460
293
544
218
145
299
593
117
127
254
2
590
639
598
971
354
851
36
942
893
982
73
299
880
468
636
480
74
747
401
968
755
757
632
231
140
165
133
182
702
675
370
130
10
503
964
541
526
263
518
109
772
43
178
806
417
410
430
600
138
475
360
458
552
875
36
129
108
738
704
933
637
276
219
459
108
619
506
624
279
937
870
45
127
655
655
26
328
804
98
774
625
156
226
634
600
819
284
237
226
368
499
460
610
463
955
14
464
108
974
275
214
367
662
719
107
408
238
946
310
184
340
786
832
963
743
483
982
134
847
232
257
450
838
650
744
911
637
901
611
1000
644
264
767
869
784
909
561
389
583
535
241
663
798
283
954
743
666
68
264
781
959
40
515
807
858
393
902
623
114
190
745
74
105
120
318
75
143
398
558
344
859
101
105
740
557
291
423
481
177
206
232
253
934
665
17
457
728
568
236
360
150
54
677
951
297
423
558
685
602
427
160
76
606
900
171
362
904
978
487
16
543
378
886
952
733
262
873
651
126
269
989
329
804
156
47
433
791
349
106
457
174
397
439
100
823
987
422
230
333
664
40
11
27
901
675
807
781
463
935
146
965
290
549
119
64
289
780
92
334
463
365
462
463
816
747
548
325
327
225
364
793
85
713
162
53
351
992
153
33
952
690
735
362
857
748
883
724
261
792
116
626
765
646
574
357
499
243
319
340
151
265
910
204
905
200
668
610
226
903
842
298
290
405
24
865
606
417
772
514
34
951
397
365
982
526
223
971
21
655
485
353
560
718
196
202
482
843
947
921
867
149
628
795
991
528
463
923
817
182
622
479
112
283
869
524
114
463
386
840
417
308
941
211
382
677
48
150
874
468
602
348
629
375
777
983
846
327
622
615
896
524
886
611
178
433
105
895
223
664
840
359
129
387
314
466
283
831
345
389
111
463
632
558
297
624
948
618
498
787
719
619
104
72
823
729
982
367
152
871
485
194
656
477
209
466
110
978
116
392
830
745
698
114
906
929
757
76
311
76
271
759
402
439
540
163
925
607
477
336
624
483
476
344
944
638
767
270
122
763
534
269
170
286
385
189
871
215
914
36
919
920
239
352
771
875
374
636
609
353
212
82
45
686
722
243
857
977
674
704
81
87
842
496
264
320
175
768
522
457
861
174
331
715
556
580
663
749
323
891
149
42
961
295
437
895
487
724
829
757
510
114
559
822
105
913
806
658
590
328
619
143
297
16
484
98
28
255
176
879
390
185
859
596
621
323
161
773
825
439
79
67
767
817
125
37
507
83
90
114
182
76
147
617
200
677
816
92
942
139
449
302
839
187
529
909
340
126
10
264
864
219
356
760
294
865
746
854
952
480
73
260
295
530
41
745
740
860
635
679
138
330
689
747
430
779
110
233
912
491
546
882
360
693
936
646
2
67
439
541
925
908
682
432
80
356
141
822
452
86
745
610
335
917
451
358
900
106
647
804
410
481
695
243
483
150
866
938
812
263
178
863
597
179
376
987
756
447
416
735
655
190
314
480
706
868
166
671
693
882
464
722
77
152
585
858
865
652
468
940
856
837
46
681
181
44
956
803
123
257
428
375
117
54
2
39
705
181
919
834
943
936
601
84
460
504
639
163
893
403
80
991
927
498
636
799
539
366
621
38
323
386
45
296
979
604
325
764
138
274
475
83
703
20
496
361
802
694
914
807
253
357
54
658
179
289
707
65
39
544
279
133
859
411
410
625
922
42
284
673
494
638
562
462
431
855
919
27
677
489
691
188
724
88
7
179
78
867
87
715
659
198
110
68
848
970
154
229
584
339
234
394
516
724
396
803
717
437
159
443
878
981
320
242
222
899
312
153
600
18
824
980
346
88
371
865
541
93
866
120
231
973
6
483
27
95
461
943
266
586
456
983
554
537
305
473
94
191
851
483
683
429
593
924
622
295
457
345
86
789
804
119
676
920
279
991
5
820
534
203
131
750
690
414
601
13
651
247
660
73
8
570
928
710
347
553
441
646
212
131
534
875
864
766
448
892
205
280
911
115
968
107
192
55
308
530
295
209
449
320
12
231
918
756
547
662
219
155
291
392
488
905
108
60
795
483
209
824
276
91
258
246
218
360
887
608
517
28
183
578
721
630
50
38
963
12
565
799
680
905
558
132
953
912
714
282
663
983
425
618
451
863
445
670
619
66
198
46
713
637
220
184
509
332
786
920
519
885
270
119
937
709
125
995
151
713
703
283
572
932
286
129
525
298
824
428
415
209
878
343
166
502
156
910
216
80
878
971
956
687
910
122
590
305
235
61
815
192
884
450
622
860
869
405
751
181
29
798
36
370
932
856
958
812
174
916
198
570
431
815
881
941
649
83
532
614
592
40
420
812
786
894
133
323
567
176
714
445
551
185
629
706
354
632
165
678
779
347
601
321
38
722
636
71
762
573
107
331
720
202
1000
116
172
783
104
312
746
594
452
488
563
265
834
167
100
955
290
265
933
289
459
713
73
974
48
342
88
226
510
784
570
548
201
485
802
926
934
918
675
221
829
744
996
386
813
978
329
151
951
172
445
983
27
273
238
475
423
59
731
764
438
23
375
240
595
143
443
605
385
237
688
270
155
497
861
211
529
355
877
638
815
60
607
274
375
210
355
618
793
4
5
264
1
175
758
279
240
410
135
660
797
539
604
94
59
950
829
612
272
483
990
229
779
534
85
328
233
203
410
399
415
128
641
680
868
38
86
429
483
207
701
820
556
671
399
922
612
541
52
817
441
740
308
684
410
271
51
585
73
437
846
780
517
498
232
612
672
937
78
393
28
814
512
286
811
725
122
854
699
510
240
806
570
166
96
509
624
403
577
965
458
885
110
306
296
485
938
330
666
812
664
245
241
870
498
567
436
945
65
94
640
722
987
954
605
193
722
12
626
143
267
334
628
853
443
966
163
210
430
42
624
576
86
101
709
632
412
558
247
889
180
446
62
725
345
930
436
613
392
600
90
666
149
203
344
755
929
309
243
231
96
412
996
708
257
50
53
477
341
878
470
840
753
45
23
75
649
840
672
805
131
336
596
241
811
691
975
159
782
808
117
492
487
337
307
106
371
326
983
661
470
448
456
470
317
356
381
901
593
624
671
209
12
736
314
610
789
732
843
66
897
476
828
510
22
961
816
180
752
741
613
318
94
330
643
745
824
404
419
720
554
700
819
45
640
822
940
615
203
535
811
451
639
725
117
823
931
950
418
208
969
355
16
719
882
804
778
94
64
269
715
509
170
861
55
294
883
428
877
82
648
287
123
47
891
487
930
673
463
11
794
926
184
410
35
777
389
706
380
813
335
824
267
18
161
419
653
914
852
745
673
948
328
115
500
379
343
573
157
961
332
660
816
384
765
499
343
799
816
7
452
731
358
723
859
341
408
602
249
319
134
128
703
642
449
294
474
56
40
291
635
427
415
248
203
41
139
999
754
493
28
648
456
116
449
643
692
729
276
199
119
101
275
144
108
716
848
703
984
300
175
307
394
103
708
226
421
115
901
746
777
224
813
624
517
844
937
769
247
664
190
455
708
4
505
877
973
723
890
535
214
739
131
762
149
997
523
669
837
179
165
959
434
516
394
315
901
803
836
537
413
168
460
217
406
144
727
477
767
347
600
253
686
437
779
633
56
39
936
44
124
16
179
420
312
808
195
70
721
555
757
622
858
378
357
328
581
489
745
966
25
784
54
799
599
185
16
353
699
276
492
234
911
708
174
900
878
460
853
38
907
252
85
177
650
359
435
277
851
578
744
282
283
371
13
54
418
34
566
668
346
309
152
805
691
994
473
836
33
6
476
257
424
793
391
322
126
173
111
88
620
497
26
591
263
466
813
541
721
83
19
756
440
988
494
527
970
862
848
255
929
663
162
979
734
235
106
884
24
195
488
471
849
101
986
829
308
580
503
388
285
513
124
591
350
358
163
148
673
402
129
955
20
78
759
258
512
455
437
387
842
683
428
215
89
487
348
510
64
753
233
535
425
876
339
555
364
842
570
410
795
901
52
929
379
342
876
781
614
63
539
288
472
591
880
833
756
721
641
776
419
186
889
188
592
630
618
306
941
694
847
322
307
196
375
43
254
237
150
955
292
560
928
471
62
643
455
459
663
809
939
698
683
121
984
534
206
922
460
886
204
684
41
679
308
268
230
961
876
748
754
234
661
752
158
982
147
642
251
994
795
920
834
828
25
973
792
691
752
629
200
93
689
44
567
835
428
94
728
325
524
811
161
704
410
408
732
20
14
46
926
499
341
863
672
3
158
703
742
924
119
642
556
88
340
660
910
720
481
742
819
177
828
324
161
920
775
174
278
178
328
779
27
843
968
805
31
393
273
455
47
97
191
403
418
265
761
511
571
115
369
726
397
642
333
397
118
984
748
732
963
929
2
301
561
595
351
252
459
805
221
434
600
382
687
688
896
363
708
366
270
167
237
597
654
847
309
859
483
879
548
214
164
367
322
924
825
175
954
265
448
236
951
35
105
221
253
646
615
829
836
725
398
165
873
797
690
107
807
16
563
55
334
859
386
196
315
383
476
245
53
941
669
670
196
220
469
530
803
87
253
433
701
10
712
556
364
756
370
343
970
649
525
260
172
927
432
969
375
648
860
356
20
131
453
135
402
156
439
156
109
12
342
134
2
8
290
219
996
240
425
763
595
274
666
620
249
861
821
579
132
997
587
845
847
415
524
4
916
85
489
591
641
406
306
192
82
563
729
983
413
950
814
790
939
645
922
977
343
694
459
995
576
327
352
975
928
327
978
542
420
461
956
924
661
268
761
534
670
522
594
400
15
371
328
236
781
512
629
470
533
716
555
254
428
729
18
340
82
829
514
714
618
329
431
51
559
904
51
366
884
920
122
761
611
872
447
730
730
620
541
369
170
379
790
699
762
297
931
500
838
30
920
234
166
950
395
133
448
455
52
42
474
430
168
372
330
49
446
395
788
968
89
153
89
463
739
470
879
203
506
885
958
168
797
864
859
687
107
305
5
690
205
170
321
52
408
71
764
333
752
772
152
314
893
852
78
484
539
239
427
11
43
934
218
826
549
971
67
132
741
634
556
39
818
985
183
53
788
1
377
829
551
3
283
929
529
620
592
356
805
205
773
241
809
497
434
407
608
325
416
484
775
324
426
879
609
959
692
165
226
627
160
420
641
251
209
600
535
578
718
304
802
329
625
194
358
474
745
862
918
152
727
184
626
178
520
71
495
665
602
22
557
10
530
118
545
381
87
888
682
887
393
23
864
823
908
14
111
716
136
659
665
438
195
790
542
304
171
746
642
890
285
856
741
324
485
654
859
883
12
633
478
90
868
88
60
894
881
5
175
165
219
9
261
475
830
109
737
72
229
342
753
6
481
437
306
631
8
335
868
55
77
704
937
689
427
619
116
729
509
201
426
255
260
338
573
669
135
578
777
324
401
888
619
576
290
267
53
899
718
138
393
423
682
10
590
981
346
190
583
734
91
183
828
555
459
12
407
586
48
890
223
833
840
540
906
222
423
23
4
270
779
63
904
421
95
753
747
138
118
989
255
27
124
145
10
664
479
312
236
261
118
878
511
6
991
371
204
740
698
246
602
585
46
725
875
319
259
928
10
544
911
229
839
172
433
213
93
356
221
653
183
742
947
643
99
848
676
404
317
462
786
286
163
152
472
208
387
396
853
86
34
375
287
814
876
174
537
10
761
978
854
61
256
896
870
936
846
165
440
897
811
874
211
496
575
769
764
163
991
370
604
334
544
434
169
243
903
713
273
477
593
95
94
898
821
461
893
782
655
26
136
883
804
476
592
670
246
989
279
155
807
74
841
589
593
232
56
776
881
638
670
935
630
381
732
832
344
347
874
368
360
469
774
952
14
898
147
738
310
647
184
261
886
381
310
87
79
323
486
845
857
703
69
410
208
772
412
63
363
187
959
166
862
459
602
291
48
264
433
711
71
626
859
922
815
385
231
133
504
886
756
711
885
556
494
193
25
855
659
795
726
138
269
318
516
96
455
966
951
808
348
866
706
881
544
38
571
822
606
111
987
556
885
382
199
981
277
661
475
518
158
962
68
936
830
262
774
73
342
462
996
735
375
196
216
705
251
318
633
751
782
735
531
512
831
766
624
384
930
345
216
843
282
201
547
195
762
613
66
387
287
467
731
339
84
99
625
254
909
882
330
479
261
555
530
806
958
88
251
537
262
243
1000
251
872
71
819
959
710
296
941
290
420
909
271
365
870
319
430
316
775
101
456
739
753
712
536
945
748
551
356
562
758
396
744
900
260
535
278
507
531
920
456
505
319
241
841
621
960
142
302
329
80
707
122
116
494
943
268
730
772
244
565
171
198
695
861
328
555
678
529
398
228
414
810
678
600
979
574
849
655
834
35
655
939
130
862
722
801
837
878
331
900
304
275
161
525
955
828
351
165
679
124
781
133
902
235
90
756
485
550
832
825
339
749
101
500
108
991
127
880
338
462
628
773
329
325
145
977
232
16
207
579
40
545
939
344
835
133
613
252
7
95
763
662
216
335
683
348
525
214
531
891
499
824
787
513
38
911
546
447
387
765
951
392
58
429
97
407
372
461
917
861
963
319
856
673
833
162
657
160
518
475
195
254
491
487
98
694
182
758
839
116
908
707
101
587
544
57
470
255
8
373
931
260
477
915
213
926
812
20
778
607
821
71
115
206
853
955
56
554
704
538
32
318
972
344
534
61
805
81
566
387
454
104
549
865
165
202
939
552
718
327
830
506
365
5
947
617
2
229
692
461
153
539
412
665
767
870
631
405
859
506
738
306
769
111
588
926
173
417
500
487
3
573
392
228
126
591
191
44
982
568
160
633
343
583
534
417
58
249
674
931
914
921
985
201
736
457
997
868
461
259
345
472
197
26
859
345
225
316
610
45
474
501
570
98
263
196
456
106
2
537
488
948
91
982
4
886
497
452
313
879
340
686
767
299
354
678
711
538
275
938
910
734
48
89
64
915
243
28
231
410
221
462
342
296
396
145
492
980
428
539
372
753
259
955
15
308
741
446
38
748
982
852
668
594
670
441
160
635
360
518
648
269
112
244
87
120
945
642
699
344
270
432
264
980
837
920
662
136
778
623
306
583
989
689
505
535
455
472
325
21
100
818
217
262
419
675
558
900
436
717
226
766
513
502
545
86
157
572
218
710
239
579
379
964
982
174
517
205
671
922
813
13
272
958
413
229
53
440
218
729
875
106
82
892
21
419
689
225
294
836
992
498
684
710
792
37
29
238
949
548
998
612
749
940
167
269
161
140
151
694
53
840
549
768
980
416
913
36
802
22
107
612
211
4
160
636
267
318
190
365
123
613
29
960
459
990
967
45
577
219
401
888
714
386
245
868
895
509
694
529
576
658
270
72
379
516
139
657
486
104
354
206
614
617
25
745
53
927
413
471
958
318
607
842
918
470
734
7
860
509
635
780
499
217
563
204
895
103
709
447
113
120
347
432
677
250
923
117
261
50
708
785
22
535
506
74
93
417
483
703
20
850
402
23
314
272
405
601
916
861
21
8
60
429
274
843
925
238
589
860
514
417
683
698
392
88
833
371
269
310
635
125
936
252
936
722
722
728
642
512
471
412
977
870
13
576
124
722
253
153
320
907
277
306
208
67
344
437
644
616
227
764
235
71
133
152
581
718
347
915
581
129
825
648
177
538
198
1000
612
440
18
467
606
100
631
929
850
810
787
659
878
864
895
953
695
202
905
388
471
609
937
923
280
138
94
732
106
197
405
685
282
318
461
869
128
205
110
406
787
76
510
64
179
665
990
894
526
524
364
138
149
392
830
200
78
506
110
342
580
658
254
59
854
728
392
821
14
174
777
970
970
663
666
72
959
642
919
969
309
115
744
99
456
352
653
387
387
531
533
170
438
561
721
154
824
452
107
366
349
654
566
443
530
691
513
332
718
314
918
707
916
112
950
925
657
193
287
410
724
131
217
667
483
823
905
3
310
289
571
190
924
756
858
943
443
513
405
98
611
172
453
811
986
939
364
913
821
433
73
824
2
392
824
42
676
340
49
299
153
909
844
932
243
65
316
857
440
895
27
846
264
4
862
438
649
790
893
933
453
38
267
401
61
359
687
508
577
936
812
294
266
962
757
740
779
900
968
53
167
424
891
151
845
472
254
724
500
359
272
615
368
311
752
971
455
81
928
780
37
566
786
954
230
433
836
85
478
830
541
346
597
183
67
804
376
932
650
566
819
824
615
785
830
28
997
514
492
906
816
821
145
760
270
364
145
248
485
819
512
437
44
215
693
670
179
188
306
516
383
648
51
76
220
146
925
829
257
497
515
22
388
841
412
329
292
376
728
132
408
482
288
326
600
767
314
965
640
900
323
452
738
721
521
198
616
217
191
849
42
473
442
255
308
539
221
314
872
520
660
716
285
865
698
389
528
955
382
149
145
621
426
643
854
128
417
206
868
514
502
616
816
914
552
110
983
608
516
184
552
151
188
889
703
818
630
319
678
44
290
974
407
239
241
489
866
587
6
18
128
987
196
179
961
302
517
66
930
475
745
290
158
854
971
411
329
311
715
371
14
324
564
781
147
220
586
962
300
216
113
696
436
700
452
501
980
478
692
118
385
302
53
559
828
99
178
762
341
740
339
375
446
77
772
671
335
233
290
936
719
812
841
919
773
773
925
95
961
222
651
576
173
232
720
452
276
144
840
258
98
492
895
998
913
796
689
920
676
20
263
757
621
380
546
723
362
561
622
913
278
103
973
102
817
885
863
158
316
186
446
396
73
749
286
260
717
646
705
653
354
516
809
70
580
911
63
474
219
89
32
480
554
562
274
11
906
106
367
47
634
766
792
470
27
552
685
292
104
183
488
757
16
226
196
895
646
410
173
105
958
740
510
287
869
259
500
808
707
964
85
369
803
422
79
423
438
106
533
352
100
317
894
58
16
843
473
951
986
175
335
596
837
185
901
426
216
662
458
988
30
996
280
206
561
594
264
954
173
346
801
87
592
532
127
729
900
122
536
231
784
324
654
705
65
571
425
476
207
886
604
77
344
704
312
671
323
774
657
875
419
740
489
45
660
348
154
971
148
1
448
830
384
575
106
948
353
953
803
644
38
785
79
926
139
306
587
357
960
913
768
717
860
353
385
437
163
38
362
923
162
975
4
16
686
273
12
835
713
983
639
151
689
293
995
255
538
728
744
38
813
69
410
586
101
154
68
153
570
596
473
833
508
715
550
558
791
670
761
347
511
838
50
869
388
16
972
446
170
855
102
623
967
318
42
271
345
577
161
21
44
949
700
481
401
943
49
300
897
450
785
668
771
411
545
211
315
69
922
592
272
26
347
349
769
900
374
599
322
330
841
322
772
424
163
842
446
551
398
988
444
511
781
170
724
740
155
265
562
173
87
784
65
781
482
237
603
627
211
41
466
455
589
550
553
468
549
10
629
978
999
343
512
992
186
639
610
698
814
188
343
988
325
658
360
860
10
789
904
535
551
572
337
636
198
429
628
607
20
365
554
826
572
386
463
551
900
762
731
922
986
834
445
712
645
190
426
448
384
942
434
784
938
772
304
762
26
172
763
667
379
988
934
737
225
17
838
893
259
854
753
2
549
653
946
916
995
739
103
673
697
261
801
819
57
187
467
733
501
995
581
236
477
339
327
511
770
833
501
548
260
841
257
914
922
819
164
635
296
341
167
352
623
399
227
764
586
932
837
521
878
879
150
385
876
166
130
483
291
213
41
901
33
494
538
705
445
623
870
713
728
253
945
990
610
787
572
84
288
552
760
480
241
585
808
627
762
682
816
140
962
634
406
470
566
906
663
425
10
111
744
391
271
745
176
27
324
594
602
482
369
121
597
905
759
914
255
140
100
978
421
997
113
251
811
433
678
225
768
315
940
967
85
147
483
147
131
332
339
919
513
55
68
609
646
841
192
221
878
226
54
696
287
715
549
721
873
408
244
639
610
241
121
657
767
788
543
143
969
953
81
245
696
697
511
477
325
145
644
176
339
33
639
945
48
478
115
280
13
477
666
601
370
376
377
812
448
792
534
311
361
114
21
140
763
753
809
542
592
791
570
782
407
515
640
474
874
612
515
64
100
473
598
317
706
138
105
867
27
897
981
922
344
459
114
204
812
920
405
79
628
436
30
628
38
654
767
86
954
456
382
689
346
498
920
471
52
373
154
949
354
942
634
980
446
556
496
275
954
405
670
181
759
223
191
413
715
920
69
309
240
487
590
74
449
710
963
213
171
787
952
15
185
958
507
518
41
634
422
870
77
321
760
360
636
845
88
700
21
990
598
316
435
691
824
514
996
345
978
386
958
636
888
240
394
510
163
141
969
589
463
895
873
347
707
410
660
852
622
934
483
713
312
94
229
184
399
9
99
1000
865
7
489
656
941
652
427
285
250
821
396
226
944
589
103
630
770
507
657
213
821
699
645
328
246
861
795
86
324
838
296
158
143
3
324
250
563
23
12
938
289
940
933
759
638
725
118
935
33
570
811
124
341
239
408
926
914
735
522
640
622
382
699
969
174
188
62
921
803
6
118
177
706
584
997
557
710
63
635
51
258
868
834
67
221
213
610
166
978
657
9
588
898
203
381
274
641
495
136
959
692
520
161
106
124
87
425
138
907
47
751
444
976
871
396
121
890
712
859
247
153
554
299
790
152
367
31
890
264
462
872
372
871
393
462
818
893
826
341
422
2
757
216
162
841
362
801
520
422
518
618
115
372
761
372
98
851
17
843
132
780
956
784
73
471
243
957
232
879
263
268
224
484
109
954
982
229
791
914
466
38
622
536
936
195
693
886
476
245
203
663
594
165
159
133
315
243
622
154
187
503
242
492
1000
506
304
835
823
83
882
338
184
863
983
30
807
472
757
161
375
934
954
387
179
104
802
720
374
937
399
339
782
21
528
678
850
69
529
692
391
14
489
841
233
929
540
121
724
252
526
421
351
685
604
603
374
721
640
948
484
933
400
39
965
65
606
733
758
471
910
592
86
649
702
31
69
434
478
516
800
945
158
285
943
499
367
490
781
548
188
114
21
121
296
723
376
427
723
922
93
999
706
359
155
232
206
285
849
243
739
940
725
735
61
503
787
932
162
960
891
748
700
967
941
29
738
768
438
96
180
228
355
866
764
344
95
467
885
924
495
644
781
719
487
237
817
948
997
656
690
55
121
595
402
508
459
206
750
658
694
545
881
972
175
411
219
443
306
623
676
642
1
352
599
615
337
413
347
853
779
282
755
594
82
189
975
41
989
849
361
452
405
262
119
672
556
534
441
371
995
878
684
178
996
766
981
907
1
730
332
301
310
427
845
68
113
436
282
476
324
686
494
484
383
545
629
161
375
394
239
179
330
920
529
250
547
474
21
723
151
571
881
966
854
26
952
781
62
268
353
880
73
100
107
323
86
529
875
951
129
348
309
27
841
796
956
725
226
3
886
628
118
897
450
98
139
905
650
253
305
120
615
278
346
516
578
985
959
479
597
843
930
145
934
203
76
8
695
50
414
832
824
452
859
159
12
770
974
599
420
860
35
650
373
707
688
28
343
384
24
323
607
798
756
369
936
395
501
864
562
927
866
638
430
373
169
459
476
356
129
412
225
731
784
715
545
515
263
276
783
48
720
437
825
45
944
128
874
212
656
76
818
240
513
808
157
253
155
958
353
283
447
743
332
895
201
595
638
917
287
580
362
71
996
684
585
449
940
1
496
950
561
608
776
230
529
191
79
222
942
541
678
7
223
649
394
674
84
463
982
790
717
319
18
322
649
699
167
124
294
228
438
618
360
777
655
927
638
102
904
504
647
727
178
266
826
662
768
330
655
115
214
731
183
559
795
905
916
424
598
298
910
150
174
206
235
597
689
821
670
578
236
509
590
828
693
557
567
858
97
961
91
935
5
357
172
935
736
866
317
897
695
426
537
908
219
205
553
383
484
791
376
884
88
159
760
365
839
883
824
174
129
644
301
128
45
855
461
779
16
150
742
283
358
555
524
376
575
380
271
596
620
284
486
265
648
475
535
724
935
740
414
975
795
835
953
188
271
785
807
502
333
812
795
168
113
938
813
364
433
786
588
942
513
737
14
954
283
408
643
68
164
355
214
872
535
10
755
621
352
133
878
221
545
471
384
85
908
901
184
52
126
44
853
723
518
258
827
425
812
923
379
502
998
177
33
788
872
562
981
922
417
609
436
643
558
21
558
311
156
951
755
686
324
857
710
432
284
550
443
897
12
333
74
480
865
616
736
277
238
947
250
796
41
204
775
190
461
587
606
893
27
146
730
519
487
784
510
605
367
89
101
93
383
877
806
467
67
31
613
92
47
81
557
635
472
987
402
384
918
735
389
942
998
706
394
6
567
256
960
918
79
553
63
240
161
562
369
852
948
970
5
999
24
981
545
236
113
161
978
473
801
928
937
166
638
882
359
243
955
852
26
537
598
493
180
326
579
236
488
108
318
660
172
848
776
666
42
781
257
359
493
311
83
237
287
654
660
62
64
663
681
816
87
712
325
264
695
606
380
928
286
202
115
747
418
887
621
298
830
55
65
203
709
492
971
295
576
917
212
142
521
972
868
828
338
633
490
204
307
354
583
430
996
257
329
281
462
333
660
579
682
923
798
101
840
723
296
507
376
169
417
141
310
352
428
25
446
524
6
53
481
872
492
126
931
464
171
961
58
188
105
399
632
55
299
297
490
461
150
510
294
867
175
58
831
891
16
271
450
989
579
637
2
740
959
79
700
242
488
619
872
305
852
728
511
895
726
179
831
789
775
877
806
495
199
993
794
285
225
679
914
619
62
793
793
325
899
364
668
650
434
963
600
706
306
763
720
888
529
826
47
546
698
77
349
602
316
510
973
777
43
379
333
833
63
542
966
534
49
647
680
47
391
565
340
152
461
323
262
951
687
811
11
708
122
685
663
85
4
248
199
347
547
541
786
979
801
522
139
820
986
24
20
3
135
99
219
954
216
495
16
202
185
253
222
16
560
836
382
729
192
790
608
158
857
644
838
685
209
660
991
433
384
99
630
464
257
834
257
50
961
531
269
928
747
119
992
859
727
937
874
990
299
774
139
248
334
995
692
452
299
98
71
931
530
319
578
156
830
368
496
313
392
988
494
808
820
774
874
401
675
621
331
34
532
256
279
469
32
505
596
510
759
377
863
932
88
556
766
254
330
621
369
124
594
132
376
395
800
785
356
963
179
959
113
19
428
330
62
685
398
704
493
911
815
853
88
115
106
944
907
286
803
74
324
186
364
576
94
829
518
973
787
651
378
915
335
635
648
986
316
207
219
12
927
880
335
384
271
483
286
954
730
300
285
256
691
595
781
179
843
818
970
712
566
236
664
55
709
889
21
227
158
493
827
263
194
411
188
251
544
860
491
736
453
271
472
486
813
156
41
191
621
858
298
482
577
288
813
506
636
141
837
435
744
85
547
473
746
122
847
334
711
652
510
697
496
764
636
860
407
947
523
650
250
708
22
673
869
548
380
162
548
389
395
981
264
805
396
861
847
346
250
543
554
847
72
333
447
845
798
493
198
142
120
22
658
115
521
633
596
565
333
143
494
807
790
94
191
194
35
118
471
484
901
492
395
275
104
315
280
242
142
4
780
75
810
105
405
784
765
973
200
574
939
506
985
530
964
970
773
207
967
931
460
602
230
426
901
106
252
822
815
757
688
259
745
556
486
167
466
605
296
117
842
623
907
196
85
691
996
142
789
155
992
751
926
282
198
398
152
611
633
121
442
925
210
361
53
443
26
345
252
124
460
104
94
957
771
260
747
706
645
90
536
895
900
812
901
717
157
696
941
167
856
404
80
927
405
883
656
455
624
291
895
270
888
640
863
644
530
304
410
810
149
107
86
275
429
406
247
62
951
520
340
505
283
866
396
749
309
366
364
244
359
66
774
324
227
399
587
458
535
200
838
845
263
413
772
827
458
399
805
33
274
907
508
223
539
44
271
598
970
50
976
705
24
285
289
148
122
577
662
8
626
42
206
294
556
518
947
707
462
6
795
755
280
910
751
536
276
394
513
555
365
870
645
552
201
514
899
653
448
690
128
118
523
360
448
570
957
840
972
888
211
806
478
858
435
24
827
282
189
131
826
496
570
691
501
130
585
915
391
529
790
631
605
454
457
569
842
547
542
564
467
602
719
17
53
831
627
862
513
179
271
303
27
245
179
799
528
482
560
143
411
212
175
966
477
409
65
688
857
353
587
760
806
36
446
15
810
616
519
83
409
326
334
132
506
987
968
639
681
670
23
488
247
112
57
489
327
228
525
287
237
399
855
748
868
268
746
106
537
459
159
567
2
960
768
594
946
935
823
806
258
340
462
274
852
86
540
24
620
394
940
704
346
672
143
707
30
466
571
541
172
7
832
844
969
463
552
251
291
232
902
282
527
541
277
501
121
159
868
476
639
249
981
497
756
265
75
545
415
325
415
795
704
660
171
769
744
612
521
335
954
118
55
929
593
788
360
744
427
502
152
133
669
881
774
156
94
167
145
11
390
762
521
80
329
164
513
449
324
88
873
81
292
339
496
225
521
387
916
298
391
652
354
215
432
254
34
57
124
298
15
59
314
860
327
120
853
466
500
422
326
230
938
311
317
812
719
252
711
993
540
570
916
988
515
681
770
582
455
674
94
796
54
462
532
57
166
169
345
806
943
79
301
37
186
265
660
529
667
940
516
437
543
730
462
452
239
278
584
965
350
35
326
550
136
677
625
589
219
283
38
73
922
347
294
428
492
684
791
724
154
552
119
786
525
601
576
526
424
840
13
266
534
430
55
990
678
959
905
184
715
842
487
397
149
608
648
743
647
147
484
282
529
426
649
665
203
808
668
451
243
846
870
240
465
368
520
122
944
725
163
3
376
315
968
1
567
885
69
498
123
648
530
400
599
963
557
819
484
174
45
707
377
217
331
916
631
789
306
813
577
170
666
836
124
287
133
300
213
261
934
392
83
434
705
499
797
867
240
939
791
361
183
731
493
367
863
226
189
518
935
328
402
128
406
537
27
725
915
248
319
558
847
562
647
85
986
384
600
631
906
720
637
771
256
893
980
510
413
887
847
972
706
115
467
189
593
723
501
501
678
936
673
268
456
83
401
848
18
658
199
281
705
185
454
690
921
720
926
207
841
524
10
124
786
844
335
62
405
714
760
161
623
444
224
722
507
730
163
221
824
377
418
364
92
249
662
679
336
367
352
168
606
61
162
706
549
689
631
189
983
726
514
947
440
937
936
525
152
977
992
785
779
968
880
185
458
539
1000
226
448
346
694
309
697
338
505
667
173
868
835
612
682
310
924
65
212
13
898
224
516
256
455
285
820
387
431
298
995
456
98
638
515
493
533
45
823
3
848
883
471
427
325
82
564
52
796
208
567
305
678
244
499
460
137
967
913
528
806
245
820
502
303
187
887
197
577
850
842
633
741
116
991
276
670
429
146
507
37
327
83
326
931
57
839
698
403
159
771
889
545
546
350
836
756
506
32
870
890
55
450
118
870
218
353
477
177
172
398
395
351
647
942
568
254
614
422
298
415
104
818
480
170
936
922
100
713
233
820
675
379
898
112
291
686
592
837
778
685
386
991
46
191
945
829
854
294
19
840
66
388
43
404
983
596
856
662
484
123
909
42
492
521
830
250
807
298
901
231
400
604
813
790
88
959
62
90
933
104
457
202
788
109
547
273
168
804
194
614
39
455
122
199
151
345
64
674
272
610
22
913
74
214
232
607
392
458
680
134
331
748
368
192
985
695
103
277
547
759
270
104
253
768
901
522
898
665
377
271
624
707
257
201
324
209
66
192
261
587
340
84
448
158
879
381
921
610
944
343
292
579
78
370
860
42
366
253
124
559
162
934
762
496
792
935
9
485
251
484
879
298
711
685
906
243
477
784
852
924
133
687
393
954
776
427
912
749
618
175
335
104
731
752
429
590
401
326
101
192
351
109
997
791
114
453
152
242
934
669
536
828
896
284
68
814
422
195
96
679
889
388
377
354
865
440
336
446
408
38
731
22
918
121
877
965
291
78
300
333
491
622
985
394
207
579
427
250
967
867
299
17
935
339
909
574
616
28
549
757
893
538
466
756
110
7
488
122
424
84
235
487
275
849
474
591
616
454
380
681
492
531
427
667
682
100
129
718
360
792
111
84
150
682
849
56
553
928
941
911
406
722
961
576
985
741
788
547
339
448
801
274
697
47
476
827
122
894
745
166
96
439
930
747
397
553
187
512
457
220
190
535
365
132
195
731
812
682
736
60
583
215
937
614
642
162
841
814
459
877
199
700
3
544
903
963
729
558
584
931
979
137
969
195
429
743
223
944
618
109
900
360
136
248
72
618
736
889
890
139
503
164
141
738
236
232
297
232
333
766
229
886
838
853
984
794
750
927
991
929
365
818
641
126
198
839
433
711
973
123
782
835
315
108
154
815
980
115
383
974
941
498
931
506
180
704
360
886
775
899
461
226
790
531
356
744
459
298
356
240
427
517
528
27
106
827
725
315
754
473
308
421
540
168
905
524
687
690
327
877
764
875
202
557
329
698
979
824
441
417
697
145
986
603
315
764
379
986
471
452
958
691
233
750
327
376
810
566
952
217
168
474
562
475
246
436
298
560
741
958
72
188
489
877
344
163
70
87
326
821
610
501
680
946
709
473
923
245
33
701
80
101
409
386
620
371
181
21
318
460
169
736
527
764
856
566
240
853
277
358
474
419
690
281
745
135
306
73
825
15
226
227
565
805
262
272
263
197
503
221
993
399
347
8
305
683
176
444
945
74
47
837
578
248
554
883
14
66
494
895
118
885
94
723
393
947
314
946
214
699
213
58
833
849
415
396
564
326
487
510
6
93
434
503
770
932
572
655
942
890
775
280
431
99
425
339
416
39
475
824
362
138
666
264
435
810
329
58
706
635
153
449
230
418
1000
131
952
282
111
433
376
783
59
954
144
290
386
340
958
488
168
621
784
944
671
148
909
121
862
699
206
83
773
803
927
417
637
619
442
573
256
21
606
886
296
667
850
72
48
898
686
842
769
310
14
620
837
692
552
19
862
835
699
883
342
390
397
192
631
560
872
74
791
924
669
486
356
80
59
876
182
143
719
287
303
313
565
893
173
917
778
948
754
306
311
459
662
971
671
700
981
70
328
824
413
325
899
449
159
902
158
47
289
447
995
394
385
955
698
122
937
481
292
621
296
36
242
161
5
169
499
125
965
860
751
662
215
325
731
910
54
276
618
180
887
978
887
116
411
168
444
945
735
544
520
326
585
49
598
228
21
641
589
502
959
566
579
503
403
416
749
204
450
422
453
713
50
485
63
37
2
434
874
188
867
865
283
489
312
730
478
7
902
493
98
586
502
319
647
870
272
217
992
47
693
519
927
769
191
350
601
866
697
989
619
15
930
167
723
482
264
338
302
418
792
952
370
977
616
573
324
670
431
454
504
981
201
847
513
243
99
873
358
186
892
275
640
333
663
739
486
680
82
770
398
667
449
283
925
491
373
180
920
223
274
192
133
46
839
172
102
146
227
827
578
450
38
635
251
443
46
291
139
776
263
571
831
218
152
959
699
780
711
715
319
538
705
317
588
724
552
383
456
195
226
240
761
229
78
270
387
946
650
66
855
337
418
198
490
2
870
80
533
208
502
52
887
845
112
265
738
120
242
384
923
654
730
449
773
708
141
431
126
895
236
191
336
614
776
533
420
886
664
39
911
970
868
186
607
372
591
6
162
397
902
227
390
423
397
387
216
436
487
878
458
199
602
287
991
602
936
647
403
391
357
448
953
465
753
313
481
372
416
274
953
458
991
503
492
382
188
133
35
319
695
574
307
276
682
321
361
349
878
808
793
653
437
299
650
918
735
150
172
402
768
51
772
887
69
976
72
979
912
699
389
868
110
636
800
955
896
720
797
516
209
752
597
643
224
387
355
253
96
516
902
854
705
293
143
125
672
476
887
74
2
80
761
699
531
537
790
631
745
719
389
187
677
185
812
631
280
979
522
213
139
152
597
727
387
918
12
913
446
32
567
26
562
544
324
278
156
557
623
669
667
974
138
928
920
554
2
900
66
732
696
734
756
799
281
662
550
33
544
970
523
261
821
35
642
180
556
917
775
479
163
55
126
414
387
98
473
58
138
717
860
862
753
568
244
522
721
217
226
417
178
932
154
7
899
736
783
686
100
21
210
543
57
300
967
350
494
404
24
908
674
542
911
563
386
150
372
286
327
397
723
252
925
534
589
227
296
35
800
420
885
590
8
647
261
595
16
831
762
717
915
842
885
502
857
678
847
728
703
781
293
428
843
104
923
45
203
132
713
203
816
686
484
960
385
791
806
212
922
249
615
128
901
888
449
97
380
613
936
725
155
497
992
791
360
157
238
953
881
567
261
215
551
288
732
801
418
786
822
160
260
198
24
255
153
372
279
175
122
511
238
373
822
49
628
498
740
690
916
902
644
660
925
344
858
312
590
369
485
195
805
85
882
578
184
810
513
190
605
143
842
669
618
573
40
752
122
620
115
814
282
870
530
699
266
997
506
181
257
996
961
543
142
427
509
953
440
400
999
311
311
432
830
205
951
27
707
449
266
63
509
448
495
611
727
277
384
810
222
942
537
844
156
757
878
818
585
157
465
594
559
546
513
217
568
982
122
604
846
581
113
603
312
554
351
334
947
674
121
987
969
812
450
895
512
874
735
743
375
149
687
228
79
557
395
378
640
771
255
964
427
516
626
157
1000
616
328
641
59
502
524
889
492
972
100
205
42
988
390
436
310
124
965
965
634
123
293
721
893
674
210
431
430
124
571
315
109
376
895
710
972
583
549
881
95
612
788
397
25
450
986
37
590
862
515
107
994
650
24
438
848
791
319
112
167
601
664
118
465
809
62
731
757
98
23
414
682
224
372
407
946
320
909
996
30
343
88
651
382
934
474
827
365
140
375
275
846
543
965
87
648
358
177
588
37
963
846
374
42
143
890
485
690
64
806
724
160
595
396
602
473
175
426
258
547
827
872
963
387
277
527
499
724
417
986
795
607
476
457
667
386
348
415
440
982
508
857
497
574
807
791
531
655
240
648
386
907
460
493
873
496
427
285
918
213
59
927
682
320
201
535
64
132
499
177
136
84
36
294
609
525
684
187
385
529
173
221
618
777
826
853
475
975
748
210
971
316
20
685
828
217
104
960
288
941
233
921
240
732
40
171
778
780
50
241
545
667
960
126
830
970
801
484
383
294
195
697
378
388
928
996
744
902
944
22
358
4
711
525
222
333
620
386
796
711
708
779
138
617
543
75
331
690
525
75
980
406
252
215
229
659
787
696
812
177
909
876
179
578
409
863
595
404
537
954
434
651
546
471
595
154
77
595
81
692
822
964
289
814
505
200
513
211
707
20
465
920
503
253
381
772
161
921
420
267
410
519
594
487
892
760
460
789
449
360
155
698
862
874
94
894
469
202
898
200
887
161
624
213
686
416
413
583
456
158
49
987
168
135
714
513
121
37
453
523
39
775
458
51
86
905
311
453
661
281
756
331
843
67
382
727
260
370
879
182
979
123
120
571
748
279
421
525
513
67
775
852
731
808
695
634
374
771
616
554
928
651
442
580
894
492
940
345
505
317
136
449
409
317
809
406
48
126
433
171
357
671
669
18
174
73
581
24
462
289
308
582
19
575
827
166
888
299
789
47
72
368
127
763
457
310
323
950
125
65
714
550
308
646
234
520
303
165
313
907
612
123
439
556
411
514
69
781
191
16
144
39
114
496
478
35
165
104
652
680
649
474
876
62
997
944
476
867
90
240
279
740
532
766
183
705
389
517
646
56
909
629
635
131
680
750
835
992
448
746
559
279
595
738
832
504
880
102
626
578
566
852
31
659
542
784
457
279
362
872
634
289
379
641
232
370
349
707
457
720
888
193
832
80
205
521
702
417
354
915
695
444
80
31
495
642
997
306
795
618
446
998
234
420
893
372
437
915
117
184
54
442
779
428
781
760
175
284
963
693
104
363
284
28
812
619
440
919
952
759
469
470
289
593
550
250
684
507
717
171
537
195
882
561
418
822
984
280
118
59
855
412
716
790
643
424
535
854
193
635
84
862
861
558
138
27
620
917
154
905
185
170
107
159
82
943
653
749
282
79
254
465
33
952
530
330
985
256
629
200
605
761
859
860
84
398
175
988
692
620
359
644
539
196
905
357
267
452
673
451
31
517
366
985
468
327
751
581
39
938
344
432
264
252
952
19
860
365
84
379
752
593
738
325
245
669
479
642
370
737
56
151
594
565
997
480
606
795
798
536
865
178
311
970
968
461
916
361
632
12
882
464
303
329
94
625
970
271
985
394
730
271
60
418
92
749
905
962
766
701
916
757
910
731
304
459
433
800
99
657
945
637
989
259
395
48
829
99
268
332
570
732
432
634
166
782
398
341
756
615
797
577
32
803
319
405
258
604
263
651
816
660
64
99
557
185
901
431
422
228
517
453
18
969
902
48
877
596
386
805
81
67
978
490
861
905
496
317
524
253
164
526
766
601
846
886
44
954
46
584
160
727
98
391
631
320
744
167
755
152
428
485
471
906
175
643
259
895
911
394
388
729
411
478
701
927
864
435
40
725
185
266
122
89
834
186
367
863
834
112
722
45
140
548
30
455
240
220
835
383
159
135
831
414
565
765
345
284
776
694
338
489
833
363
411
395
672
541
232
742
658
753
598
788
379
182
78
790
669
490
804
180
275
606
541
582
436
757
565
766
952
945
266
725
941
611
630
357
622
454
913
631
904
252
899
675
492
28
92
12
502
149
94
978
286
705
179
482
300
102
787
397
340
868
258
285
426
568
622
630
934
97
671
436
302
843
878
895
811
884
917
766
476
923
704
278
28
661
886
668
365
131
664
871
592
860
678
550
949
839
442
353
541
945
472
258
718
872
821
898
402
638
208
11
432
415
307
563
199
789
53
588
488
525
2
547
435
600
900
815
942
552
597
959
736
154
381
599
490
81
592
6
60
465
136
45
965
206
111
727
673
497
326
413
138
222
920
680
295
870
627
944
888
76
521
223
112
197
194
818
23
147
423
282
556
269
334
769
327
201
961
750
57
539
876
119
615
583
274
916
165
619
473
259
848
1000
310
565
744
738
331
843
627
464
961
641
138
375
99
213
584
227
698
629
503
522
905
823
512
795
326
31
731
283
781
688
243
354
703
599
626
764
971
126
609
181
561
215
271
471
844
303
15
884
767
550
765
660
414
364
435
541
660
915
741
350
705
161
874
83
312
940
350
965
439
852
615
490
830
966
642
801
792
883
769
644
68
316
512
776
213
138
966
906
355
820
629
179
531
254
211
771
104
250
47
364
845
396
218
160
421
552
403
606
934
986
764
196
68
25
882
562
185
178
881
538
399
841
387
68
253
87
913
614
134
546
569
198
971
34
760
323
79
443
665
818
226
352
845
49
156
998
298
81
796
491
612
63
364
659
687
569
399
464
610
645
526
743
923
43
412
898
446
511
929
280
251
2
35
203
185
378
246
951
522
521
862
636
969
741
320
530
251
58
104
277
930
205
700
466
956
200
956
185
679
942
27
493
691
548
848
259
937
123
638
425
968
202
558
562
98
382
5
526
477
550
439
143
779
669
862
95
289
323
229
615
655
56
151
166
468
114
212
10
142
337
124
465
263
829
683
687
705
503
245
20
307
768
983
306
867
421
727
67
503
296
582
138
203
302
841
148
515
318
944
238
875
788
339
541
51
1000
169
234
514
742
622
429
353
459
649
778
490
73
506
432
572
366
223
896
874
172
702
420
962
679
574
785
656
803
376
730
56
957
851
813
990
518
396
201
264
964
761
737
552
942
134
649
549
522
612
424
286
489
939
708
136
811
48
577
97
368
635
140
394
592
472
252
299
942
667
55
353
33
376
172
851
772
753
644
501
125
92
114
709
942
155
347
804
868
679
890
811
481
933
587
128
704
949
684
527
979
803
473
469
892
861
779
602
711
446
106
689
787
783
923
912
874
395
397
673
229
346
874
561
744
860
522
78
502
886
876
146
857
101
433
112
563
719
104
217
530
212
43
10
502
715
326
247
316
441
6
137
448
943
322
664
216
387
210
886
361
338
815
728
731
710
404
816
428
661
942
331
99
205
581
676
26
217
528
998
274
352
22
269
443
81
691
646
508
717
152
319
823
819
539
912
593
800
584
761
50
937
979
87
110
208
17
148
506
557
921
963
265
263
863
76
936
40
373
144
138
399
766
830
860
569
221
619
432
979
386
653
237
905
693
656
53
371
121
326
359
825
793
303
104
422
626
992
152
964
215
60
122
679
311
373
369
66
502
520
646
964
182
838
363
859
492
21
435
188
686
980
405
75
285
626
937
494
452
623
755
317
287
965
829
107
67
454
936
786
75
748
704
498
289
684
931
105
115
3
258
731
334
433
244
712
597
334
533
95
144
748
41
576
907
750
74
396
758
447
833
220
514
867
56
522
208
193
395
284
277
539
740
131
563
498
887
127
450
207
814
591
27
565
387
191
910
530
471
526
232
152
280
133
363
87
295
588
117
880
222
950
561
212
291
306
49
663
636
587
792
250
645
142
63
185
935
776
166
800
30
103
383
603
943
79
463
731
565
536
606
892
216
392
567
29
734
949
203
524
213
373
756
781
869
994
219
384
538
564
353
836
7
963
336
128
696
163
539
946
228
407
669
382
79
711
308
447
779
754
965
470
141
166
867
772
591
26
75
596
953
105
979
347
999
28
864
662
618
50
34
675
771
613
942
129
234
146
852
655
750
899
864
618
374
686
503
439
718
540
694
164
284
221
647
382
296
415
72
301
256
237
186
870
966
357
191
411
887
648
220
98
553
779
313
998
175
580
599
85
745
307
733
831
672
198
582
480
479
791
321
115
125
556
368
957
285
303
55
126
348
704
531
261
904
985
164
986
249
557
610
190
785
862
808
495
236
244
396
74
269
981
406
207
462
940
667
553
559
493
31
167
598
415
397
690
803
537
510
988
118
779
713
749
863
45
109
198
272
183
112
148
622
820
979
23
234
440
716
431
890
514
718
41
106
819
569
279
253
366
734
380
757
498
270
867
448
799
264
381
689
412
435
133
84
265
230
912
392
481
782
739
809
924
301
744
894
468
834
789
239
42
814
685
470
942
533
598
238
210
451
374
704
93
268
67
384
748
814
931
375
377
94
459
693
912
295
879
858
251
157
634
948
760
875
12
19
455
606
37
202
803
766
147
784
610
488
997
285
785
24
912
866
97
428
131
420
224
528
31
336
470
80
905
245
570
985
742
8
881
646
657
857
86
836
306
838
267
963
629
684
827
220
767
795
274
941
813
284
329
390
390
920
167
365
651
393
856
216
456
510
206
328
904
813
342
680
340
660
236
822
235
957
375
507
46
597
468
252
298
155
837
313
619
527
697
891
404
33
69
936
127
945
445
550
37
554
677
829
121
622
762
980
803
561
329
658
751
714
681
776
583
891
170
513
981
719
554
798
960
399
711
369
552
216
776
390
217
475
310
685
644
613
607
904
444
881
597
294
394
350
115
308
578
997
481
984
708
264
446
885
408
801
563
392
34
82
931
316
849
170
117
138
32
238
755
635
42
329
954
312
305
478
192
853
81
538
820
729
623
959
621
254
405
342
167
587
319
792
834
644
173
966
429
431
778
252
362
58
162
692
143
558
192
95
810
712
986
300
556
256
13
694
440
204
708
893
559
545
781
964
486
243
107
709
71
272
244
260
952
424
195
733
237
753
952
722
859
815
753
199
47
316
752
772
205
379
948
317
249
415
855
716
107
497
330
802
660
198
407
653
872
119
771
35
241
676
730
165
982
302
122
946
553
888
670
474
232
163
663
946
453
710
722
42
518
511
634
491
145
193
857
807
990
686
406
105
952
585
228
517
589
357
79
954
411
424
179
877
179
324
573
299
574
354
246
447
783
569
506
399
606
549
46
518
646
92
407
719
64
896
264
414
121
290
73
504
453
334
143
923
617
912
111
57
935
986
153
823
96
843
972
313
292
979
779
702
850
255
25
523
523
109
585
537
558
874
482
150
672
728
998
734
859
401
199
292
758
511
472
580
918
349
688
221
919
985
968
330
735
807
860
878
135
985
922
371
188
921
325
385
142
404
129
181
33
89
276
932
398
903
215
28
362
156
281
600
213
472
624
626
256
120
512
963
423
975
301
207
614
122
234
550
190
86
487
702
408
739
580
492
821
256
314
3
839
846
939
945
706
608
109
508
140
574
486
121
733
891
605
397
20
127
663
996
811
916
466
365
969
478
671
43
341
87
803
751
934
220
253
565
773
942
626
277
87
79
344
459
588
840
381
861
682
876
361
495
338
193
19
192
243
941
214
439
596
884
257
53
555
254
306
611
936
768
974
566
218
842
110
695
299
394
901
839
733
186
83
900
362
359
36
723
372
665
4
788
780
913
472
612
313
313
15
366
399
738
540
524
779
394
921
258
817
24
469
900
172
581
554
58
903
241
964
830
441
738
247
177
130
264
401
673
162
602
721
780
847
728
547
267
87
854
933
635
843
769
983
192
132
376
692
969
821
541
677
792
51
692
88
644
649
159
342
914
289
879
32
257
488
948
550
564
734
452
473
973
181
167
747
949
386
11
68
200
496
573
600
606
147
650
385
405
95
498
365
567
247
411
912
690
349
313
189
781
35
301
440
925
350
433
524
249
117
632
623
542
737
252
81
557
88
718
744
325
208
666
5
801
348
183
20
750
817
52
177
77
727
415
964
746
431
883
850
11
923
927
634
927
957
338
15
34
978
635
792
640
192
579
190
355
297
353
305
416
434
573
553
840
923
982
304
650
185
611
594
259
86
203
931
582
590
917
711
600
238
669
709
935
450
991
432
412
79
965
846
769
943
579
180
385
308
881
3
399
401
418
765
622
83
729
361
446
760
150
17
307
431
755
4
364
560
44
253
734
102
904
937
21
580
432
487
894
594
458
292
158
504
986
574
88
347
307
506
829
201
252
694
265
339
899
542
128
509
68
877
38
578
103
438
805
617
765
470
607
213
539
744
590
414
307
742
12
279
116
647
322
422
742
36
456
288
820
828
192
177
634
163
630
165
3
355
712
158
350
938
268
276
708
175
209
651
357
59
368
517
788
980
960
133
922
742
806
720
846
528
265
62
857
787
280
854
261
690
74
183
208
9
813
766
823
797
974
692
27
196
257
439
742
82
632
906
624
36
500
22
57
254
18
270
946
679
355
106
706
525
2
839
977
860
318
993
788
627
139
575
296
762
658
934
771
628
743
100
195
44
549
601
685
588
564
739
7
705
200
240
551
368
673
987
525
720
185
289
572
133
354
760
658
617
436
412
870
355
123
29
738
413
609
205
757
361
177
723
94
605
765
70
844
740
862
997
811
122
588
966
483
141
10
229
802
427
597
63
321
278
193
376
600
183
47
505
989
182
265
526
510
175
485
793
186
18
735
786
5
394
166
507
684
989
840
850
534
475
791
376
28
158
370
868
114
910
259
914
935
218
597
478
360
704
413
129
678
525
878
119
849
412
965
24
967
927
767
978
960
726
65
897
97
215
732
193
585
38
235
664
380
218
777
174
354
654
597
704
138
869
587
150
271
592
626
952
772
775
5
313
905
126
876
244
669
97
928
168
530
518
383
134
986
796
962
946
855
601
710
693
555
540
405
212
250
143
835
6
458
822
401
7
596
173
335
368
7
91
339
157
168
688
587
421
188
956
842
604
185
413
932
704
796
743
905
869
931
557
9
374
821
981
40
19
587
718
720
69
825
594
491
744
160
384
533
168
340
871
861
411
172
690
77
916
567
493
729
204
988
361
242
171
871
194
94
724
934
28
229
755
870
827
712
648
598
323
271
640
109
914
688
315
958
445
976
468
618
957
872
363
239
114
495
140
846
82
914
768
624
97
981
454
760
798
48
892
240
716
34
43
121
931
947
434
45
40
103
98
203
41
219
354
508
651
41
601
482
852
385
171
250
201
278
82
64
522
420
227
8
148
307
110
858
777
184
786
598
371
459
25
788
234
331
84
744
583
155
650
542
447
523
691
939
714
102
952
633
484
39
792
718
691
141
914
800
85
95
266
1
301
700
95
9
697
481
659
382
42
56
611
577
950
322
424
529
160
876
535
188
358
62
44
76
287
724
954
826
301
998
886
653
347
516
161
877
605
943
924
956
679
104
734
950
240
855
664
995
531
465
477
149
967
511
916
912
359
195
472
853
962
557
249
22
611
262
726
242
738
522
258
967
913
236
150
109
892
620
6
126
839
435
858
719
505
424
244
674
693
713
32
738
221
754
281
949
969
838
826
494
319
346
620
994
423
663
64
104
332
139
707
449
929
552
709
218
2
275
432
165
553
777
348
418
627
116
220
196
503
819
174
527
109
898
839
60
901
810
212
359
240
812
287
413
540
543
768
663
33
630
372
532
54
787
351
308
154
186
837
251
183
833
541
944
746
306
162
246
45
510
557
692
203
7
393
808
611
98
500
608
694
61
613
505
789
868
523
948
478
247
925
377
807
193
399
515
333
875
45
555
807
445
241
588
619
414
896
445
843
122
355
217
809
305
781
888
696
933
467
894
508
296
26
916
183
777
804
885
284
877
199
25
891
839
784
714
851
643
255
84
509
246
282
605
403
675
243
296
181
3
733
871
160
268
418
839
562
156
539
534
412
585
882
97
500
402
535
695
626
74
122
610
511
578
491
419
412
726
35
147
491
772
894
158
389
509
338
549
327
976
496
982
268
558
445
225
332
518
374
131
696
949
193
456
692
709
468
668
652
158
21
899
337
428
871
245
465
500
471
933
920
585
319
251
737
179
123
742
827
691
657
871
733
731
323
286
395
966
236
811
34
982
319
539
765
715
509
718
504
831
679
661
36
918
288
568
873
443
84
976
666
239
422
530
488
693
875
917
272
919
866
84
29
934
968
325
275
256
400
413
242
422
981
742
50
619
457
326
994
988
716
610
515
230
835
260
194
772
333
500
344
137
244
91
387
129
844
771
201
116
960
805
70
2
785
323
704
429
45
294
21
385
177
302
27
680
893
774
214
668
151
940
309
190
79
627
99
977
835
892
323
622
754
660
303
828
371
741
46
813
69
69
69
675
187
544
82
996
373
611
952
187
867
581
106
903
170
769
613
343
253
688
748
431
71
924
719
658
622
825
605
835
235
790
288
149
70
778
290
661
31
660
1
848
454
127
718
867
914
208
304
958
508
884
27
844
748
871
328
980
3
449
835
297
76
92
954
393
51
763
737
187
56
933
547
726
927
820
238
186
73
828
184
81
26
924
528
375
247
502
406
480
797
331
794
111
335
318
809
567
797
183
979
297
765
578
25
549
205
868
173
489
786
542
874
409
414
203
57
571
980
185
770
769
580
87
81
933
610
973
655
944
215
520
293
375
556
158
18
52
209
122
10
179
829
373
814
237
887
563
736
75
884
553
311
355
961
533
19
42
234
433
188
696
490
159
171
155
110
163
415
575
225
999
19
942
130
792
732
873
928
27
115
947
243
650
766
869
554
236
91
468
421
905
97
930
385
759
70
664
838
790
812
905
508
664
316
500
530
293
360
294
214
792
554
229
769
327
751
533
216
313
624
376
644
634
398
974
782
866
404
413
581
953
164
384
137
454
171
615
798
234
400
62
778
467
838
764
924
885
38
892
529
488
724
691
283
357
30
912
474
772
798
844
566
565
690
249
126
554
572
348
893
915
735
483
438
561
54
262
494
972
82
779
525
391
458
982
503
20
692
373
214
638
581
15
596
47
28
239
774
926
27
559
474
911
904
17
453
224
708
618
417
729
802
546
673
109
293
591
399
728
937
566
4
851
531
549
510
107
634
435
277
482
630
663
668
660
808
941
455
234
102
480
857
185
606
533
110
989
777
9
381
954
509
564
642
641
879
824
878
757
439
367
583
518
368
638
77
288
682
259
608
241
954
66
527
902
673
793
120
690
475
513
810
2
937
841
516
948
547
413
954
584
750
354
495
381
680
277
43
700
311
864
31
250
269
230
268
872
479
64
867
484
154
37
888
710
376
61
645
529
654
783
870
270
406
112
33
405
269
692
164
908
491
948
469
365
463
782
872
660
575
998
377
807
216
311
797
409
695
111
976
331
256
227
96
363
179
594
37
81
158
72
50
615
750
665
207
776
733
52
159
803
616
628
768
63
384
235
82
133
821
388
927
97
347
68
133
298
427
95
23
486
3
686
341
50
310
39
243
998
682
712
298
452
640
96
731
673
637
511
292
76
327
336
180
238
106
93
464
668
999
597
291
963
651
138
969
48
306
128
706
364
188
839
387
269
596
623
265
381
391
520
869
298
274
230
726
941
391
248
757
741
388
369
283
43
949
873
668
385
249
437
522
759
528
234
276
574
121
738
655
800
939
459
281
686
302
215
159
537
490
581
312
235
134
814
186
622
804
929
740
360
745
571
339
611
748
990
642
737
571
746
703
218
132
710
415
161
973
589
220
112
116
434
765
335
477
571
788
393
495
945
64
629
455
155
689
133
289
309
314
827
296
454
213
648
313
482
211
135
357
343
589
377
653
887
34
969
260
861
589
516
228
416
363
289
320
991
412
808
856
570
851
506
171
147
719
132
505
682
551
219
876
943
933
775
656
446
522
318
83
86
155
549
948
195
713
207
17
470
322
133
538
643
363
174
373
808
469
289
842
47
397
185
395
369
195
850
596
989
565
600
708
678
722
626
401
249
308
606
682
232
130
604
186
462
588
365
409
591
653
119
255
526
178
166
561
399
142
861
856
957
137
78
708
197
57
876
439
665
472
898
872
79
607
956
31
838
220
394
396
549
889
56
409
909
428
123
396
149
156
644
982
799
792
340
374
681
561
111
581
905
922
768
784
133
8
655
556
527
478
249
589
606
952
268
882
705
673
546
135
853
280
728
177
660
873
813
869
244
627
744
826
310
278
502
715
253
738
635
620
551
937
740
156
777
754
206
605
275
572
417
320
905
513
698
48
327
956
537
626
924
244
967
707
854
830
578
785
688
272
287
827
758
600
893
211
647
579
414
543
208
298
414
139
142
349
812
603
418
552
185
8
781
859
184
605
151
549
491
899
996
325
700
153
649
226
595
90
90
559
571
632
956
183
371
17
380
575
862
502
829
60
334
206
249
478
679
307
708
349
840
962
201
268
147
814
437
901
490
879
247
413
801
962
708
602
988
457
203
317
289
548
422
962
982
395
729
25
549
815
430
598
663
347
203
800
830
387
368
867
127
193
746
422
217
212
525
110
783
130
995
327
549
437
969
276
323
138
445
946
879
405
378
886
15
611
442
867
863
189
290
595
349
205
177
664
731
335
717
832
308
218
230
533
726
758
346
259
766
37
535
70
167
941
770
33
804
456
809
826
514
890
467
111
947
922
815
493
98
492
474
99
600
3
5
831
396
234
973
351
204
638
405
711
4
429
236
351
876
954
806
873
696
391
647
573
547
716
597
273
225
236
744
335
892
708
828
129
742
224
507
381
537
583
327
26
997
827
327
164
342
2
955
700
703
945
382
91
764
102
340
356
716
949
367
199
572
587
654
639
917
468
785
12
438
13
283
623
949
110
264
561
167
48
465
427
202
529
592
808
589
763
220
318
679
523
449
968
390
269
170
424
660
83
17
446
381
227
71
415
286
573
948
414
999
48
136
760
469
464
387
223
42
833
490
437
773
299
998
174
915
346
333
192
159
815
225
372
905
575
648
727
728
397
213
642
257
689
527
417
882
290
127
763
62
422
460
426
516
246
801
499
243
212
154
337
165
528
941
166
136
621
729
655
224
451
330
720
455
849
362
792
658
886
747
614
657
396
716
412
831
401
551
904
959
161
735
235
359
958
143
340
560
541
639
667
124
358
762
443
797
318
192
878
843
845
321
793
293
405
595
172
849
551
233
21
339
720
557
787
962
708
453
246
40
777
409
467
604
802
171
941
998
761
310
434
551
90
877
473
549
159
909
610
964
166
749
791
811
243
13
214
603
495
576
22
89
942
125
94
350
88
671
938
377
931
908
405
453
753
470
558
3
963
918
491
131
587
800
351
665
752
196
100
430
644
994
795
390
972
529
284
474
951
331
266
183
142
488
588
516
294
494
509
385
485
556
421
420
458
15
170
8
30
934
689
477
841
907
130
566
530
861
71
703
615
936
629
182
978
526
555
995
872
253
421
966
794
899
81
815
413
333
440
971
956
78
421
278
125
425
731
201
658
968
650
795
106
984
616
487
264
381
818
668
968
777
343
210
633
895
704
270
7
629
710
171
101
36
737
728
139
15
390
110
683
641
478
223
806
949
961
645
277
458
253
327
260
889
861
663
949
334
810
8
904
598
778
418
568
562
113
203
623
186
188
859
366
224
634
98
269
779
56
966
216
617
764
520
739
523
914
105
672
73
188
72
310
881
823
669
79
786
360
917
163
438
945
537
311
456
423
346
274
655
718
109
916
834
204
536
86
290
877
939
739
508
124
130
657
449
800
241
322
510
165
544
191
451
920
777
613
572
233
137
139
992
196
913
812
115
543
645
292
300
882
843
380
299
885
522
539
229
71
265
537
734
889
76
227
526
761
22
764
652
643
560
282
701
438
480
158
654
290
592
531
222
395
660
640
346
450
567
896
986
295
400
357
449
604
942
378
282
708
53
807
217
778
551
23
685
600
510
492
246
157
330
283
607
38
547
157
6
491
111
448
455
569
782
903
669
393
367
87
596
38
752
736
81
914
66
652
600
813
882
352
949
983
11
701
455
669
368
197
574
604
329
381
713
809
240
120
721
892
992
127
793
769
126
154
450
338
514
735
860
192
487
238
991
900
229
241
29
706
342
925
1
794
782
279
821
394
751
371
778
84
734
851
91
610
580
172
266
453
428
672
885
101
315
835
936
752
504
526
925
697
937
936
872
199
708
312
691
51
146
275
646
340
902
688
295
160
433
566
809
132
396
509
617
663
780
472
91
764
25
476
391
153
16
37
625
81
587
667
226
992
73
802
800
721
561
886
736
357
689
175
547
329
235
997
263
525
312
841
171
462
637
672
890
618
232
267
30
48
931
236
695
303
199
609
671
511
148
518
463
182
61
563
232
931
417
901
310
872
184
964
208
843
82
985
920
996
675
184
909
543
343
548
363
580
673
635
182
21
331
721
690
606
238
913
247
868
751
560
773
687
595
405
711
789
487
443
81
125
763
388
108
571
816
954
372
821
831
937
533
625
130
195
485
791
409
186
210
466
304
698
703
262
8
740
80
743
104
358
393
603
395
301
727
683
286
63
871
558
156
787
237
60
277
952
710
541
28
522
819
56
579
479
942
968
729
271
265
620
297
692
863
865
340
195
587
204
432
424
396
247
485
8
409
968
831
314
220
1
840
894
951
831
945
822
127
258
738
989
678
985
788
684
302
504
885
472
958
720
730
466
497
909
465
567
299
686
42
156
299
608
150
14
11
949
310
958
943
937
779
796
353
463
135
720
391
851
731
188
529
803
753
674
624
12
266
414
79
296
468
405
357
291
342
481
529
894
49
239
633
674
686
966
360
414
483
458
2
796
138
837
636
997
723
31
249
611
534
576
880
916
335
789
869
921
649
187
14
79
183
199
748
760
970
861
462
849
546
192
763
866
320
374
732
48
313
700
253
740
603
493
76
243
154
830
569
12
177
971
46
702
801
862
153
124
650
900
30
602
847
486
875
548
91
497
112
385
700
957
552
41
948
615
825
351
585
95
892
670
172
523
627
856
741
303
285
599
337
771
201
744
211
34
180
867
761
176
887
854
865
378
977
659
900
237
847
728
551
691
667
793
544
535
782
883
515
458
654
426
569
900
291
257
500
793
479
209
278
425
206
694
145
272
405
378
596
594
469
577
600
14
59
523
632
104
404
980
486
181
598
25
388
166
458
951
604
346
99
396
631
339
733
775
36
368
140
5
196
198
904
356
525
742
762
944
231
388
356
58
295
557
292
4
180
864
607
630
682
528
711
13
488
365
365
74
242
746
538
15
330
433
794
574
222
86
438
36
858
508
818
845
537
458
998
423
753
924
558
516
646
302
394
981
96
836
213
409
980
22
895
429
819
394
987
832
808
287
415
870
275
702
884
245
689
356
573
302
674
378
452
916
909
872
957
386
422
744
819
422
532
787
568
961
620
975
584
120
983
360
625
61
257
726
413
943
286
379
222
393
848
71
416
139
364
62
505
547
554
774
634
807
42
287
360
401
44
215
215
360
646
93
799
468
614
510
127
264
345
625
505
184
353
631
472
667
630
939
255
351
345
576
738
792
573
359
152
251
208
884
582
199
760
296
906
145
464
59
961
274
50
716
590
165
524
683
696
573
542
678
602
819
305
299
817
875
406
615
776
618
748
330
243
55
463
293
849
540
747
608
657
143
668
613
758
342
283
316
636
192
884
690
443
937
750
367
386
799
592
878
150
347
770
561
647
407
435
674
408
945
4
28
619
748
734
673
158
997
727
796
965
38
385
993
736
730
196
506
259
787
756
866
657
412
66
593
422
345
511
291
426
197
388
471
6
529
475
957
815
704
956
536
399
971
952
833
323
583
6
25
279
24
145
125
774
550
565
39
908
357
547
502
259
627
944
283
84
596
484
793
879
587
157
309
851
620
167
557
996
824
284
341
286
384
932
216
954
152
48
950
949
380
532
672
465
263
123
149
825
87
652
584
134
838
939
714
851
51
19
734
813
543
20
762
344
420
768
149
750
400
99
901
922
87
953
918
745
277
553
503
752
773
341
867
754
476
917
893
199
683
896
527
668
669
489
510
211
585
584
65
205
654
317
342
29
437
410
105
137
686
65
179
42
914
813
622
302
361
538
496
880
462
825
317
104
296
891
4
67
722
640
174
470
89
774
177
829
464
479
98
461
303
955
310
871
366
903
835
992
455
175
896
225
273
961
575
387
256
251
384
487
791
830
938
696
586
720
615
28
326
828
253
4
939
513
490
15
938
950
302
189
340
448
657
322
617
325
979
818
949
565
293
660
851
233
506
152
864
548
255
511
594
580
166
472
849
786
168
698
997
973
695
166
973
818
248
677
523
795
793
299
410
189
904
868
292
913
398
614
873
991
426
630
798
926
672
173
433
606
309
690
328
96
867
108
705
413
10
123
721
344
486
159
644
494
198
208
317
972
438
990
430
592
784
744
223
993
92
468
190
852
292
657
235
225
412
367
540
111
371
986
60
530
603
212
194
753
493
563
674
853
945
204
106
402
147
996
949
955
727
456
914
980
67
758
902
977
476
968
651
879
310
491
176
234
889
78
968
291
219
830
633
890
158
321
363
944
586
358
149
399
608
921
147
784
556
494
997
852
817
362
137
349
79
426
413
650
659
752
315
880
953
391
223
110
929
928
945
420
771
913
628
936
491
522
878
423
308
808
528
668
113
433
43
654
162
52
990
526
423
420
351
385
692
835
711
286
652
769
511
167
556
391
622
71
106
238
492
692
398
433
955
227
522
750
618
514
493
267
419
651
755
526
532
657
381
937
335
235
451
617
527
367
822
958
841
313
652
57
973
536
589
488
537
252
492
76
828
563
924
12
177
594
417
88
481
681
696
877
280
376
614
410
402
4
570
248
758
539
548
921
351
826
725
331
946
557
819
118
120
936
938
936
625
696
732
269
61
970
67
714
917
527
274
628
874
73
258
652
160
611
424
918
405
380
393
656
121
476
961
537
435
101
617
306
172
305
201
192
705
211
961
112
281
958
350
924
651
35
394
853
937
239
374
722
611
230
821
840
374
541
591
198
469
942
855
169
700
270
382
9
983
161
407
311
799
692
725
4
296
530
378
613
128
94
449
290
346
143
32
542
747
405
412
678
186
94
829
760
228
676
8
213
436
794
774
353
280
59
685
754
365
332
588
808
215
173
404
799
330
395
251
554
619
23
214
21
582
520
708
167
837
838
358
215
647
690
802
554
137
495
602
626
797
555
727
716
665
416
701
843
338
789
553
898
560
78
186
740
697
353
624
241
831
534
884
153
563
691
881
229
874
597
869
261
549
117
411
549
728
566
748
872
139
922
771
175
441
654
469
76
879
969
885
756
163
500
76
962
78
785
573
663
818
420
84
372
486
440
7
247
475
285
401
887
703
715
645
161
788
168
976
498
292
329
442
821
100
167
592
692
850
261
398
338
95
36
484
876
515
417
730
504
98
518
709
379
649
173
230
660
388
542
443
465
685
557
608
540
142
649
624
78
384
100
859
404
869
326
632
271
978
612
977
61
451
110
914
527
945
411
546
602
149
634
741
421
400
773
15
927
194
985
522
350
350
620
718
406
816
41
349
266
285
723
924
243
842
666
693
634
859
926
481
386
202
912
436
59
638
178
839
60
982
625
667
308
163
373
528
251
862
99
900
662
804
287
363
739
82
667
659
823
158
114
947
488
260
381
601
821
969
388
262
499
722
173
592
635
805
292
411
440
160
137
427
481
998
640
794
642
774
835
110
980
561
39
281
300
225
762
871
655
96
11
187
946
41
373
354
466
905
82
84
536
322
315
636
347
813
126
764
738
859
747
18
945
435
461
900
237
40
914
755
18
868
487
205
150
146
350
158
205
57
870
138
889
903
363
731
114
316
551
462
36
413
697
286
951
748
99
203
78
803
517
196
132
542
169
811
77
238
98
225
592
403
98
568
611
130
889
595
749
583
895
556
558
684
816
237
325
268
153
725
571
117
993
379
490
295
652
869
316
187
221
918
22
451
669
550
796
884
926
230
458
835
267
285
373
392
428
366
421
16
78
541
279
698
687
793
607
989
362
329
738
450
921
113
111
157
345
469
1000
931
737
438
69
826
116
801
886
270
672
335
820
961
602
915
678
234
292
536
31
182
385
192
415
235
238
821
511
244
386
200
956
407
863
756
661
483
687
757
373
860
361
221
766
975
996
212
505
488
525
881
591
391
551
725
772
926
538
58
983
781
454
631
557
542
430
643
442
791
728
152
764
554
99
11
863
31
595
41
361
657
55
81
908
603
767
928
5
749
254
970
710
7
752
446
72
649
694
911
882
932
452
418
684
891
645
353
17
653
570
668
554
976
679
428
145
42
602
251
738
691
874
204
866
407
422
153
623
353
849
412
91
673
740
761
736
99
526
550
623
617
946
661
202
579
750
566
16
178
116
557
938
670
180
531
433
37
191
359
910
70
77
970
449
2
603
755
38
889
902
805
16
902
875
800
578
598
852
50
38
990
947
339
71
952
738
714
268
96
264
303
182
740
845
571
486
19
888
180
9
501
680
725
157
887
154
225
712
528
728
152
37
480
640
187
518
822
637
637
423
757
474
628
460
812
466
791
13
71
237
114
406
994
880
62
578
805
998
842
237
826
456
923
902
436
235
503
233
502
481
670
707
238
673
418
14
468
891
485
499
137
293
274
608
796
245
711
571
441
58
979
490
773
876
506
592
444
96
464
655
321
622
297
508
129
379
467
84
111
768
719
705
473
161
605
156
491
111
960
637
83
694
282
858
576
268
688
388
149
994
245
871
131
654
982
861
965
673
815
856
94
740
956
560
495
114
122
534
868
516
984
172
720
494
876
380
729
277
716
401
769
442
476
23
980
152
298
760
54
344
520
682
701
998
492
294
915
551
4
209
211
568
594
413
498
44
763
591
614
90
353
323
860
280
965
974
29
661
293
731
551
280
693
556
380
82
136
814
134
208
928
916
850
57
233
629
412
951
479
625
363
864
191
436
327
500
660
216
719
932
116
647
783
123
770
839
222
935
149
340
875
609
666
194
944
320
222
561
263
110
993
562
961
400
206
864
682
339
865
31
192
416
887
794
823
154
43
229
694
200
428
277
72
782
922
172
536
356
260
122
856
227
866
26
604
75
572
80
567
606
708
903
962
1000
820
191
318
445
441
988
622
778
936
353
9
214
425
605
838
190
169
330
448
591
650
34
303
13
717
659
506
264
855
181
831
1000
594
158
563
255
552
414
418
624
395
992
708
55
269
161
783
484
893
507
451
88
542
95
744
514
635
283
925
269
475
986
56
395
977
129
826
669
909
564
567
804
211
949
564
583
505
958
812
408
740
718
382
480
288
559
392
733
445
998
411
645
458
376
773
320
696
722
920
502
510
229
355
792
667
186
234
907
978
345
922
746
887
465
61
920
338
214
848
602
199
717
226
826
880
756
665
803
560
60
36
439
604
157
849
24
351
4
776
928
423
946
957
270
119
630
65
722
244
137
457
11
943
974
71
232
720
536
876
757
834
330
811
430
715
529
134
700
845
424
34
543
802
939
157
344
833
664
422
385
321
790
160
235
29
931
94
103
821
47
185
217
856
608
654
340
921
676
787
836
657
813
280
108
897
596
946
794
279
33
570
864
543
371
606
605
669
633
159
586
113
701
425
832
913
925
327
841
383
60
616
564
407
768
96
142
150
70
979
25
63
910
547
84
702
412
505
442
748
512
354
63
72
397
147
598
365
579
763
558
121
496
635
686
262
244
517
287
752
426
436
377
889
114
451
719
806
625
236
229
885
139
756
738
442
190
546
855
12
710
146
466
48
620
302
474
618
933
416
518
988
933
566
746
559
306
133
206
738
5
702
39
739
235
443
468
195
198
622
522
718
111
232
533
240
621
992
722
38
896
140
594
825
598
480
446
218
431
151
18
154
175
437
214
571
921
756
847
752
761
608
586
284
301
930
617
474
208
738
48
433
441
403
775
753
949
195
324
854
409
967
186
642
989
965
287
52
226
812
536
445
856
630
844
571
836
121
614
997
838
203
447
499
255
417
772
874
78
929
122
42
78
402
67
117
374
401
164
324
837
270
851
235
759
631
889
868
884
738
847
559
187
921
92
402
780
287
963
249
919
643
95
942
385
332
364
486
435
312
547
309
111
336
592
676
950
542
352
519
34
89
719
694
873
770
383
711
848
642
842
481
791
838
871
549
833
640
402
539
800
822
612
270
324
36
128
133
280
694
388
792
371
432
603
242
435
707
254
581
557
527
734
561
180
597
570
186
165
415
639
110
220
969
936
616
178
718
729
246
381
493
420
1
790
799
990
132
548
752
720
193
403
538
751
959
777
876
163
250
317
404
448
481
417
310
674
967
558
823
150
647
324
336
123
880
559
77
884
407
505
215
681
433
658
213
999
961
763
56
90
217
602
710
126
28
182
779
985
460
532
894
464
926
534
781
668
203
147
325
447
507
936
179
975
830
2
665
37
262
347
729
124
880
155
745
173
133
728
792
709
312
611
838
141
844
949
967
209
659
282
355
896
792
781
233
675
739
402
474
585
808
549
744
483
850
626
428
809
331
281
606
293
624
250
442
390
803
432
279
620
969
270
555
647
324
517
453
648
776
240
823
479
885
240
505
198
305
123
635
746
718
936
921
971
448
604
133
731
559
432
272
488
265
567
966
711
893
631
629
350
501
697
886
887
461
423
509
722
983
402
901
204
599
750
742
186
88
535
989
837
189
894
838
353
704
593
603
339
298
339
754
881
356
378
464
756
776
777
146
800
432
313
368
190
396
95
480
270
669
864
7
612
307
422
621
191
348
797
37
919
872
566
750
287
848
197
876
530
182
434
735
579
505
487
988
10
800
254
313
370
938
879
613
526
527
688
692
160
280
980
212
121
264
166
450
109
982
502
94
101
238
21
827
973
109
283
969
44
172
270
790
625
328
84
420
198
184
97
467
586
980
859
527
289
463
396
833
190
946
459
131
22
44
947
743
279
203
981
481
766
202
46
687
590
268
212
251
226
294
691
870
204
945
883
158
93
81
641
501
720
48
678
679
960
838
932
370
42
40
218
601
13
805
691
115
919
741
474
392
277
777
320
761
644
561
305
634
421
878
386
412
544
899
97
999
410
833
802
203
164
669
689
515
508
279
122
877
285
93
65
110
410
913
43
597
174
226
495
662
521
540
441
863
710
847
109
54
647
311
520
642
274
681
83
969
628
708
910
71
560
95
920
413
670
68
797
355
687
722
509
201
404
711
413
721
271
661
942
901
938
961
472
535
340
204
277
969
426
614
379
950
243
250
718
65
911
652
303
700
941
837
906
790
483
268
431
901
339
468
290
326
999
470
5
969
533
154
780
729
900
860
957
27
133
354
139
847
886
342
230
405
48
237
817
121
473
849
119
101
385
936
193
734
703
366
214
318
341
727
424
875
518
805
772
432
260
306
366
71
577
538
606
18
215
588
261
864
534
635
821
785
789
709
165
285
36
108
973
535
935
151
306
891
980
708
499
517
59
164
839
342
779
91
477
783
729
926
712
744
666
375
72
409
647
91
578
280
309
423
229
696
780
679
981
824
249
378
465
715
796
462
266
569
931
257
821
807
201
283
918
866
356
663
323
907
818
980
285
803
612
905
530
795
504
839
905
230
811
79
991
643
248
761
870
231
203
923
705
480
52
558
964
286
475
473
918
421
227
55
508
607
525
846
818
785
7
929
127
374
205
684
994
462
628
465
900
887
824
64
703
144
255
637
598
844
420
929
309
281
418
208
961
249
75
337
461
876
830
767
230
685
786
79
836
481
760
876
382
943
669
465
548
11
321
766
789
231
511
338
540
239
353
231
234
481
943
598
538
76
767
683
526
452
751
812
419
14
509
508
128
656
91
686
53
335
541
173
549
321
637
470
963
949
468
748
422
887
923
580
382
987
726
772
495
774
405
3
540
489
456
642
985
406
2
274
264
825
473
943
1
740
151
80
214
699
972
401
3
770
631
795
357
846
852
388
481
763
686
492
483
798
824
140
345
205
210
233
874
321
685
134
696
697
16
694
440
391
397
285
971
288
459
416
901
823
881
888
633
992
930
243
870
912
658
499
898
457
997
737
887
708
740
156
177
55
201
630
765
775
404
630
212
848
789
613
811
560
762
637
94
196
899
2
763
730
247
169
636
975
956
99
525
86
436
387
802
658
323
283
22
928
832
740
140
735
447
142
774
971
517
247
451
223
42
192
8
190
804
103
112
243
73
983
390
190
298
49
805
907
548
648
720
986
1
175
570
6
410
193
161
280
358
80
418
232
26
75
834
622
393
573
937
924
59
872
877
60
315
329
619
582
733
100
274
128
261
182
852
625
769
473
56
319
49
990
788
144
497
149
707
360
104
228
543
631
932
784
835
954
930
749
441
923
821
426
471
804
798
388
248
854
931
551
548
69
522
325
616
345
107
804
420
592
481
403
184
931
856
238
475
526
279
794
50
946
489
96
200
218
684
726
567
883
83
448
264
458
738
171
669
632
782
227
450
469
197
677
190
613
216
468
534
237
681
775
872
30
42
798
424
58
176
626
39
729
893
478
152
400
806
848
115
416
242
550
550
463
984
688
474
202
955
890
685
29
373
959
301
730
558
214
401
480
273
445
448
362
475
340
527
93
345
662
465
169
772
260
603
973
806
185
287
715
158
819
201
241
508
939
265
862
284
46
161
339
514
155
512
101
593
454
344
560
96
897
767
130
243
847
717
178
290
344
221
680
882
431
860
780
386
252
40
824
284
297
228
668
29
275
512
250
120
559
747
446
792
64
45
249
384
709
575
149
396
325
466
397
244
984
112
538
946
257
325
169
330
800
593
412
844
57
172
981
746
547
845
57
266
399
998
391
299
307
33
199
354
80
311
448
747
281
487
62
508
254
551
435
51
995
940
407
431
920
788
479
935
560
755
662
818
607
934
784
239
565
970
497
829
417
906
465
867
385
258
473
757
855
454
217
326
955
118
615
511
135
610
324
135
324
882
27
830
865
970
723
623
528
385
917
358
303
260
137
889
586
351
636
987
609
891
494
933
669
862
601
103
760
471
130
235
747
463
217
629
62
470
513
310
260
746
149
19
432
497
476
984
617
505
576
588
872
905
202
439
566
774
270
829
822
666
436
273
754
344
638
604
301
737
677
115
2
590
56
365
25
365
330
545
120
686
149
786
930
46
61
351
299
538
843
462
756
82
839
393
382
24
326
564
643
958
401
585
570
371
276
592
899
988
142
770
360
746
963
629
370
938
650
510
765
400
90
733
84
580
384
55
118
936
498
359
107
396
238
14
16
556
83
976
769
870
970
494
195
335
541
234
703
91
730
734
390
888
814
377
355
623
202
492
490
988
343
742
915
831
55
719
523
978
491
539
812
150
740
275
285
62
745
268
236
977
825
716
656
789
579
439
328
153
396
417
911
342
64
480
989
251
234
557
564
432
610
986
475
111
766
723
565
904
446
692
194
340
39
169
878
368
696
825
402
729
183
983
765
457
174
724
701
800
122
694
304
524
256
873
535
929
512
84
956
872
436
747
93
767
138
221
232
846
447
101
307
898
274
990
752
372
41
618
864
963
735
632
250
769
802
41
407
682
601
76
333
917
604
198
359
505
871
62
36
120
574
548
37
832
520
342
476
243
679
166
986
15
701
472
161
942
290
287
706
602
80
969
741
95
353
818
203
528
549
837
274
742
8
463
31
201
795
757
288
126
795
348
763
708
466
440
194
673
784
293
57
584
933
917
858
976
266
131
743
854
866
792
380
135
847
710
610
309
132
725
375
20
80
480
827
218
744
653
313
300
977
806
151
936
845
545
715
305
28
400
374
114
978
674
260
72
592
521
664
473
118
712
101
146
756
830
742
335
212
145
939
964
46
58
57
386
209
779
659
914
596
866
392
366
823
368
576
401
627
549
582
647
523
624
600
487
367
483
254
903
467
131
856
958
765
449
781
339
395
929
569
884
614
237
867
167
705
801
271
13
949
172
441
310
194
511
614
573
825
456
785
519
220
533
360
329
851
469
77
378
262
26
323
954
85
427
760
886
109
84
347
69
152
39
434
590
189
527
586
518
704
60
182
469
753
748
667
723
580
880
504
23
915
397
514
183
288
549
301
274
783
904
896
474
656
878
564
647
167
134
998
305
781
516
712
923
612
669
564
483
638
137
738
731
726
506
413
862
949
147
609
281
61
176
376
600
189
543
571
301
25
567
965
322
835
817
312
377
561
955
313
3
230
68
130
155
588
34
188
674
659
694
561
124
439
935
140
260
520
317
119
915
786
535
76
150
686
845
83
346
784
553
803
321
432
802
516
648
436
210
369
106
541
322
920
601
399
481
216
930
439
467
230
520
733
185
479
597
491
736
40
306
331
465
955
969
806
942
276
16
4
398
562
110
174
821
703
663
484
775
332
224
990
41
970
198
804
304
232
986
291
489
107
886
819
773
375
75
248
994
646
525
840
926
419
12
755
869
801
229
626
87
196
618
950
922
384
713
224
783
882
689
797
835
365
311
387
907
256
706
98
45
274
156
566
172
849
676
525
527
859
252
717
888
25
422
560
131
678
388
393
321
316
914
444
352
548
94
889
167
534
472
497
686
32
106
397
896
485
916
432
978
388
40
437
996
323
7
512
377
653
236
27
382
846
744
676
823
790
979
349
489
287
371
993
194
75
550
897
821
403
153
55
514
146
821
330
975
909
274
174
857
396
341
542
410
551
418
495
857
627
131
661
473
393
889
395
953
151
638
993
470
86
329
768
776
754
559
127
776
193
380
74
314
205
485
694
277
869
870
255
752
235
581
536
648
431
349
883
135
159
756
243
247
636
67
163
244
571
26
320
635
711
714
633
330
783
33
468
999
438
516
703
604
935
920
707
993
834
510
365
624
961
28
340
769
246
84
717
975
816
115
991
219
896
116
145
886
664
57
210
691
183
288
275
679
936
235
373
708
293
411
76
196
438
70
883
449
912
849
712
595
937
408
887
17
109
353
6
159
906
720
21
775
663
921
640
22
334
309
907
239
410
479
446
943
803
998
384
331
402
497
402
534
239
996
740
994
920
843
200
574
18
904
393
437
655
490
494
321
357
57
797
539
602
868
196
950
161
680
534
173
466
989
435
519
750
544
847
478
631
630
28
109
149
89
92
339
2
194
602
27
865
223
855
598
255
64
701
223
314
244
714
778
308
523
517
312
345
609
896
311
59
601
89
842
523
488
304
570
698
396
94
709
94
319
661
209
123
728
593
864
826
828
757
577
298
196
338
698
122
208
36
240
564
970
512
756
118
419
16
862
230
904
9
678
655
821
268
987
987
803
618
501
327
591
964
465
941
913
734
726
18
634
208
567
322
991
439
792
610
941
655
43
174
511
87
845
781
606
146
643
556
852
746
961
79
961
363
879
89
550
112
198
684
524
716
43
861
941
754
146
547
731
978
745
26
780
816
836
823
652
390
502
619
668
522
197
781
148
224
137
410
366
113
408
608
179
54
11
834
337
66
824
791
217
210
365
303
79
723
360
997
972
162
278
449
112
676
470
628
890
820
17
102
662
535
129
486
126
980
806
48
411
939
444
202
953
426
271
877
870
919
816
383
813
399
86
458
219
977
769
625
465
441
589
859
691
501
856
842
939
844
396
745
836
376
287
568
252
196
259
568
240
893
167
171
95
756
720
99
544
342
491
142
944
657
304
89
825
879
295
905
308
160
280
126
699
547
599
794
67
468
263
987
695
558
45
156
103
813
173
19
759
193
368
727
691
830
320
376
960
947
99
725
352
434
634
135
723
774
142
334
118
707
312
622
188
540
122
489
433
519
402
463
506
58
643
161
127
875
88
198
178
318
859
552
188
235
705
482
740
760
996
878
273
285
739
182
409
726
719
672
180
897
354
926
492
434
496
776
728
276
187
895
662
101
345
452
751
525
456
925
418
70
611
284
179
112
638
190
323
58
675
803
384
990
235
58
838
891
724
3
279
348
403
881
854
330
992
180
859
232
466
794
233
866
110
763
140
533
572
819
951
575
458
78
718
67
28
819
678
425
662
193
386
746
65
110
866
625
642
306
528
74
67
774
690
884
839
317
249
458
532
983
412
707
530
532
437
66
269
876
9
71
367
668
224
232
627
795
142
111
532
585
545
637
750
933
801
668
168
419
765
753
142
685
204
820
964
42
563
299
60
263
789
754
38
35
544
687
501
372
371
594
533
576
281
697
800
997
807
53
547
948
747
878
122
598
744
12
301
571
333
403
348
281
284
398
696
744
931
372
140
715
642
972
640
518
761
799
202
878
149
891
801
378
928
774
993
913
151
150
674
665
888
536
437
652
667
281
113
900
303
441
372
602
864
910
712
451
979
78
776
458
696
39
688
208
853
1
34
427
285
173
165
199
217
829
766
922
871
645
984
317
670
706
980
434
419
752
458
587
467
338
580
613
216
584
699
648
249
123
492
882
30
629
422
379
350
89
924
115
680
546
355
835
141
646
539
195
78
700
680
934
112
374
555
490
99
331
108
554
665
350
39
560
833
472
522
982
798
744
923
636
84
967
304
873
170
672
496
673
162
222
761
166
224
548
415
39
333
530
274
613
343
424
482
122
490
105
87
859
248
48
719
423
875
171
862
242
72
641
504
924
948
728
403
746
850
619
798
789
727
857
195
776
356
757
717
697
179
675
648
680
503
529
981
354
495
308
192
205
770
616
7
987
337
489
617
300
349
808
661
878
383
650
308
942
979
815
940
226
750
616
258
929
676
689
113
895
138
270
18
785
803
878
69
851
763
800
965
234
199
135
921
329
420
384
541
898
328
762
106
50
258
442
356
155
633
953
522
10
94
802
298
323
579
194
460
670
349
407
43
611
75
984
357
581
950
410
615
496
233
344
634
753
752
795
884
466
683
874
142
306
350
854
154
293
885
324
988
229
328
168
227
271
157
935
750
265
298
930
595
92
371
26
365
250
308
733
647
276
521
577
202
445
440
187
46
355
633
785
81
661
693
979
659
205
704
836
281
232
481
231
694
230
645
382
775
131
319
279
932
306
424
465
247
790
540
235
200
670
875
867
624
412
116
938
484
172
870
129
177
836
924
166
322
576
815
730
426
252
27
212
369
826
688
163
409
313
822
205
286
457
49
891
37
454
109
767
345
578
766
426
605
456
440
886
389
105
377
25
680
571
312
112
45
155
323
725
926
748
46
437
343
801
490
724
611
756
429
477
118
592
788
332
819
278
452
823
857
529
693
988
652
246
727
655
872
406
996
78
917
990
415
9
956
716
182
544
88
997
746
293
901
523
172
524
554
323
466
917
540
990
370
503
422
967
784
154
197
487
223
726
395
754
667
597
683
454
763
848
500
532
549
818
255
437
823
71
673
725
792
102
161
988
890
249
492
557
491
356
667
344
809
700
546
475
432
574
732
61
781
717
245
606
310
452
695
33
372
13
61
259
525
34
645
570
494
587
491
803
137
485
347
460
546
756
241
463
821
375
888
192
198
331
424
826
895
66
425
766
503
186
772
118
760
74
679
762
304
704
138
555
330
534
78
601
148
827
814
303
284
98
689
165
146
726
425
867
225
913
330
213
512
296
422
946
72
522
510
253
712
992
446
62
281
813
99
814
448
723
78
514
702
361
854
276
930
813
752
448
184
804
213
703
130
244
839
109
237
94
997
334
1
693
182
563
340
738
903
673
843
81
597
446
738
410
956
353
284
636
111
542
787
525
289
181
588
702
953
232
204
653
911
75
232
783
574
130
785
878
357
780
977
564
206
439
435
475
356
570
877
887
742
841
582
503
919
337
935
938
948
969
322
197
493
767
370
112
271
757
855
251
65
506
695
314
782
221
66
377
371
506
65
669
3
476
321
729
602
975
605
891
649
38
814
84
248
604
664
787
547
703
38
863
980
990
225
649
264
566
232
381
707
451
900
507
202
981
863
923
212
635
234
498
176
494
495
515
1
615
280
817
763
78
606
504
272
391
629
16
926
196
209
309
136
971
379
612
679
507
340
958
492
464
731
265
834
262
753
268
199
852
177
993
75
692
402
793
440
378
489
189
891
931
550
889
418
713
956
392
141
289
564
522
788
341
588
95
262
911
766
676
461
823
239
32
387
137
877
472
674
881
852
720
909
98
929
367
479
467
290
218
246
364
695
46
41
247
455
366
825
686
981
861
380
176
654
961
564
133
373
948
475
87
424
639
375
178
246
361
844
474
256
433
432
534
143
863
25
888
952
250
262
784
835
214
577
637
545
756
891
118
661
89
515
689
7
408
596
716
968
968
305
986
195
618
3
582
736
634
838
566
741
292
581
882
728
126
1000
188
849
228
776
88
729
265
751
380
200
111
316
469
734
119
853
79
422
100
461
739
131
16
640
301
839
236
205
919
247
972
476
509
447
165
709
689
815
648
792
601
332
918
485
811
199
190
853
706
979
721
90
402
469
577
642
207
188
95
365
120
644
340
515
657
544
714
476
556
695
748
512
539
661
773
279
387
139
851
471
12
641
847
788
92
294
970
345
106
471
486
750
275
551
512
360
5
298
24
608
905
219
212
913
374
813
351
371
18
790
181
353
892
171
628
151
680
708
349
31
409
181
193
397
270
962
199
288
420
703
129
98
375
95
869
242
777
477
257
451
848
456
16
546
799
824
519
803
845
786
37
502
232
937
2
842
864
452
518
164
707
713
89
350
116
928
18
350
653
344
475
998
756
353
563
683
806
102
32
984
794
235
449
66
770
52
771
511
715
650
227
241
285
630
377
395
131
506
979
315
143
302
69
298
2
707
252
401
914
759
758
378
226
306
257
782
921
350
757
369
662
968
204
214
126
725
515
345
871
333
882
296
867
879
133
716
133
104
841
25
611
56
625
202
548
954
809
942
154
233
191
811
250
569
180
517
938
126
965
99
66
419
712
657
425
933
991
218
139
91
779
490
685
269
411
531
342
252
803
819
634
2
104
815
512
591
720
881
601
941
263
308
827
314
606
323
141
594
649
138
852
20
806
520
278
436
508
888
79
49
198
646
594
416
400
329
994
626
454
130
850
643
409
575
978
395
393
399
62
459
491
201
600
150
811
55
202
369
934
74
87
882
392
866
955
521
183
921
33
438
559
237
210
698
505
918
654
399
388
35
202
35
233
795
115
993
941
926
492
908
594
250
764
138
631
613
202
705
331
677
291
938
489
625
182
443
639
476
134
215
441
535
44
427
124
486
680
915
956
782
222
423
796
274
48
465
688
455
500
27
323
339
525
408
960
715
675
219
28
470
941
915
223
728
282
285
390
794
535
985
833
271
559
569
13
278
127
432
772
382
73
774
311
708
622
977
177
733
693
750
403
405
173
44
778
577
823
991
943
211
532
71
626
458
76
295
894
508
410
441
708
48
820
288
451
286
874
341
319
758
268
771
646
534
102
151
312
45
29
108
324
472
37
191
572
513
310
95
525
401
742
889
344
254
193
24
471
172
507
737
267
28
645
911
679
563
10
583
236
210
217
69
906
76
80
108
443
627
573
513
947
921
865
577
230
695
311
876
502
205
460
171
591
485
717
819
601
610
283
511
466
629
407
117
343
56
765
185
161
196
11
900
916
141
142
372
531
944
342
739
148
366
413
885
774
583
709
549
77
412
749
225
960
952
317
503
275
997
917
478
644
245
912
418
914
78
515
120
198
693
117
326
816
418
64
85
700
338
113
185
973
785
270
668
516
785
610
922
270
313
991
87
922
103
267
293
414
772
726
804
387
243
6
241
290
800
659
915
381
626
872
723
246
330
582
216
815
807
392
212
30
760
219
754
486
336
580
325
391
625
779
957
128
240
38
288
555
781
771
678
941
743
816
200
82
390
389
724
716
131
961
290
843
213
19
711
902
916
927
635
88
976
661
323
243
670
275
47
870
845
325
310
848
197
343
77
282
263
700
804
797
922
799
349
274
681
646
781
658
652
265
677
25
942
302
769
516
91
435
685
99
344
879
108
391
766
360
865
899
654
421
365
152
259
823
298
127
581
93
724
279
868
992
490
261
496
794
443
110
129
759
27
283
391
153
696
418
801
459
6
130
387
197
399
432
246
883
457
635
259
248
838
679
326
758
204
912
801
857
189
241
213
139
871
462
6
805
255
312
770
361
3
450
361
501
16
144
385
504
496
916
756
298
805
769
405
522
790
909
795
553
204
90
566
485
557
757
509
460
994
224
69
592
803
998
760
976
732
188
182
889
628
674
834
378
792
311
528
863
74
12
22
255
955
977
445
353
784
690
170
990
875
557
68
424
420
219
508
27
1
657
14
161
54
144
244
476
797
30
836
541
983
72
714
858
334
777
628
811
677
761
100
39
584
693
413
55
822
752
980
658
6
877
244
865
654
296
244
588
252
963
121
301
55
547
127
249
72
591
153
563
105
272
399
806
757
978
581
46
55
562
959
568
693
704
586
710
927
285
375
121
866
72
995
942
193
260
124
22
401
665
311
325
248
405
553
68
454
953
679
6
630
334
843
485
56
65
716
570
188
150
478
545
729
96
322
616
668
415
2
441
962
558
882
441
414
545
75
463
880
833
496
524
144
107
103
766
675
754
141
729
5
764
964
296
655
660
893
395
377
857
584
662
971
559
626
758
107
854
404
15
361
241
807
358
166
161
995
229
502
475
307
379
898
37
337
930
788
630
352
80
344
589
545
190
624
359
19
749
345
99
51
914
567
189
921
864
368
159
510
248
897
137
970
367
273
362
961
529
444
721
375
256
478
530
999
602
764
972
248
885
224
727
992
544
985
308
485
684
897
532
591
95
911
396
806
191
623
318
85
349
211
352
95
605
579
530
330
512
789
896
445
254
741
187
313
761
644
331
538
680
15
114
585
527
827
452
275
248
964
620
109
728
300
752
779
465
587
632
275
783
812
540
177
436
857
509
110
423
87
823
807
121
971
37
953
630
944
88
739
332
531
319
109
237
144
320
755
642
93
586
258
995
75
889
190
624
814
127
630
164
596
166
265
110
135
858
227
909
613
971
822
378
719
251
603
82
242
225
589
462
92
610
973
164
611
424
392
998
709
954
668
427
663
785
929
279
378
960
221
628
523
188
26
464
274
738
576
763
262
269
512
92
985
405
216
700
149
290
96
341
300
709
214
742
719
634
910
714
696
176
484
403
237
46
597
52
739
539
744
969
388
990
93
87
839
415
968
632
281
716
507
922
85
491
346
250
102
923
721
146
101
689
14
39
979
115
636
491
144
49
83
740
919
20
174
210
888
339
731
66
873
684
464
605
612
605
377
485
283
106
824
383
739
158
210
624
669
518
466
760
947
750
594
862
117
689
39
486
289
899
107
908
723
848
427
232
48
634
250
403
340
106
431
995
279
118
85
869
211
480
244
465
230
911
323
528
308
884
842
513
126
847
631
821
473
700
717
238
1000
769
184
658
682
800
561
248
536
606
721
699
27
119
827
91
138
538
635
235
226
154
289
22
669
232
859
451
770
994
6
529
575
382
568
129
21
748
336
289
356
57
977
93
844
490
887
492
574
574
732
942
616
68
558
685
871
907
695
885
682
411
55
596
706
850
111
705
596
178
535
582
744
437
448
175
731
880
272
643
139
349
424
470
81
819
481
177
133
298
977
369
350
480
703
897
712
632
229
303
648
215
397
589
243
635
676
557
383
352
622
636
326
282
150
158
180
83
966
483
299
415
312
276
907
746
109
470
121
593
702
158
141
360
672
709
566
95
601
925
659
538
235
927
963
829
248
763
778
124
678
460
919
112
153
318
636
190
237
811
732
580
557
341
741
229
921
458
471
710
275
886
369
683
178
831
904
685
476
618
643
150
964
645
746
601
139
17
380
895
599
994
938
247
223
543
32
526
70
908
900
953
817
53
306
941
655
273
970
231
783
30
296
920
29
313
499
216
673
416
206
969
243
42
291
131
925
104
995
279
211
368
348
271
623
390
537
915
617
782
145
238
327
937
110
602
366
793
863
424
756
45
314
712
991
552
315
974
323
286
731
321
654
322
502
719
821
801
936
455
630
738
16
817
749
812
658
878
426
18
743
90
72
142
199
33
930
563
582
302
416
807
434
21
228
609
115
848
983
971
972
701
987
872
465
614
690
811
308
299
553
343
774
988
320
112
62
124
151
682
23
249
683
618
614
265
832
863
139
844
80
456
743
373
73
9
615
269
565
183
80
893
155
600
71
562
795
248
470
373
736
455
496
632
478
926
570
690
240
192
104
915
691
26
264
320
979
71
15
107
579
920
736
24
133
409
234
943
224
695
271
539
2
987
607
274
679
482
116
159
151
117
746
929
462
254
2
313
367
315
93
95
5
658
135
493
558
738
607
207
847
664
748
163
985
816
774
583
578
100
554
502
488
754
892
300
811
358
664
86
585
840
836
38
696
836
826
898
596
711
779
891
753
901
39
247
182
35
544
375
33
441
895
488
954
252
582
128
889
290
231
634
27
326
744
31
859
94
903
240
685
668
341
756
456
401
790
164
541
663
164
951
859
39
338
63
832
471
457
586
787
79
244
752
752
37
15
161
79
930
98
781
966
477
889
796
739
374
71
832
699
269
395
420
475
581
987
828
36
923
385
558
995
420
342
836
346
65
989
453
583
601
132
144
954
91
281
505
724
461
538
132
470
842
579
273
798
433
829
774
415
955
339
524
107
516
47
918
39
826
842
73
766
278
314
679
466
356
141
386
218
199
837
574
586
914
961
212
392
420
957
257
302
181
531
702
782
170
800
968
63
811
527
777
958
446
389
62
803
76
612
718
285
740
276
222
687
932
251
225
860
855
44
237
316
169
789
433
952
121
249
434
273
579
967
614
448
564
638
153
167
318
365
563
87
813
725
857
558
881
445
908
491
814
64
754
417
374
188
819
277
641
781
36
9
7
497
871
749
960
223
107
350
972
849
34
961
940
787
400
622
153
890
40
156
668
269
662
205
326
930
611
857
372
312
811
208
786
555
279
124
992
790
722
648
563
801
805
758
904
200
576
672
673
602
414
453
860
409
611
472
59
473
345
187
417
322
406
771
166
629
458
355
444
314
55
47
308
997
875
420
466
506
840
869
268
836
906
100
932
211
274
3
801
913
736
366
683
141
623
176
958
443
621
761
187
203
271
647
428
257
578
817
326
958
541
976
293
899
801
585
806
97
836
630
904
610
305
555
469
485
213
343
777
405
522
471
75
637
753
339
705
703
849
828
342
681
341
847
497
221
372
60
310
160
717
534
32
72
277
686
310
242
916
747
538
295
659
944
104
178
456
727
292
261
735
677
997
85
885
171
151
670
703
484
958
389
560
792
595
82
714
418
63
508
764
785
209
211
718
741
812
610
518
315
776
417
159
512
111
524
722
454
416
120
762
22
975
140
461
185
432
80
901
346
254
874
614
385
801
760
281
541
935
42
112
923
483
222
930
240
811
210
470
265
968
271
730
687
580
861
447
245
747
792
988
461
664
962
949
878
622
498
772
416
305
257
554
370
39
545
8
609
743
372
239
722
867
711
572
240
513
68
210
560
291
107
874
854
172
210
922
104
766
627
657
349
11
305
658
401
182
582
17
545
542
666
294
231
681
238
868
331
809
562
91
323
801
214
346
677
845
910
644
782
869
934
894
8
797
359
347
859
819
605
6
727
542
839
982
476
860
427
882
896
833
910
307
137
682
974
469
349
279
491
736
122
99
983
636
761
715
811
503
116
334
974
462
430
748
640
895
659
355
444
892
805
553
164
434
62
941
556
220
17
192
60
117
689
406
560
178
951
32
617
80
750
153
386
575
600
50
977
290
989
488
117
760
753
72
836
139
923
372
312
378
261
259
182
50
520
19
366
160
413
381
900
454
469
548
381
747
190
685
333
759
419
82
252
765
411
403
123
161
855
991
910
659
54
209
922
435
484
193
953
14
250
163
799
35
288
700
101
358
743
956
426
147
639
824
201
670
816
501
378
545
112
721
714
108
967
164
128
357
899
206
924
668
846
205
564
120
958
9
289
775
225
201
118
725
311
893
676
52
19
537
836
117
112
326
412
734
631
228
967
872
395
606
371
491
144
656
906
1000
641
648
546
620
109
2
578
600
563
831
822
875
981
431
586
223
743
595
897
398
444
329
712
60
31
707
571
499
160
150
598
319
839
380
841
277
706
656
692
393
724
663
531
318
720
626
795
704
912
778
397
949
526
311
779
312
656
339
922
801
759
198
320
676
567
614
256
660
748
887
726
154
316
270
9
848
700
120
182
132
349
269
854
616
931
271
10
878
524
841
142
302
670
852
761
486
783
712
999
221
223
816
235
530
291
13
595
543
486
741
742
291
660
542
554
642
100
157
213
658
158
313
708
652
763
600
966
82
62
555
657
215
458
174
225
187
525
602
828
673
631
678
719
906
623
334
9
173
578
600
947
249
468
107
551
444
564
526
933
76
527
347
698
213
449
768
564
475
549
222
764
519
826
259
828
624
746
81
85
395
959
11
554
236
109
581
992
668
27
708
465
961
20
677
230
865
446
199
645
350
547
900
541
455
295
976
735
250
66
601
380
922
108
921
453
739
99
89
944
408
557
874
267
973
534
826
1000
909
788
822
294
544
590
131
204
265
439
768
770
224
199
32
858
436
608
569
669
203
685
233
346
797
277
305
293
191
888
332
658
440
981
972
931
979
126
748
761
725
735
547
912
355
647
12
728
571
473
745
622
447
453
360
859
210
549
989
347
896
651
795
253
416
37
418
987
441
720
47
513
426
875
977
3
801
344
117
568
52
106
882
165
954
694
306
811
720
749
21
932
182
323
935
992
427
53
89
556
496
45
155
609
847
169
500
229
301
461
542
716
83
506
392
865
414
20
396
382
796
281
261
347
804
760
909
245
702
43
32
315
660
116
654
874
685
186
618
840
656
456
42
888
987
726
264
545
523
226
687
54
253
852
235
34
291
850
862
799
377
25
634
679
818
786
455
869
423
650
418
122
462
380
107
67
89
582
898
67
24
404
471
299
453
991
287
182
301
439
743
363
2
352
84
213
892
480
915
212
165
586
353
626
89
422
407
628
857
608
200
367
998
311
18
523
756
818
985
571
226
513
361
323
308
295
89
298
761
187
216
146
700
718
270
637
914
715
470
719
288
269
921
744
414
977
574
257
217
68
772
671
47
616
695
747
220
876
841
36
432
697
980
351
837
108
685
897
803
389
616
891
548
415
249
395
919
575
608
602
539
359
872
993
447
536
456
639
115
949
234
413
452
94
147
20
975
59
315
585
841
869
146
978
857
990
649
200
882
534
308
918
274
713
440
685
160
225
892
446
341
538
327
712
586
491
92
169
929
255
855
534
314
428
774
228
628
992
953
759
689
899
332
770
268
326
968
385
581
979
854
811
974
416
62
174
728
23
2
207
4
161
8
706
941
992
312
680
855
677
703
679
287
952
800
116
368
591
937
312
622
864
98
577
834
938
228
906
76
81
494
753
325
663
759
918
354
186
603
797
750
20
740
110
978
71
545
755
369
365
721
623
820
392
850
46
747
126
677
46
546
809
489
707
406
969
908
815
831
642
708
344
631
424
46
529
462
846
606
13
212
491
738
6
690
449
617
479
59
1
794
169
446
836
334
560
979
752
846
91
277
543
341
517
61
674
834
778
131
445
979
691
438
569
860
531
334
471
238
854
394
167
206
955
389
269
174
969
68
544
582
965
456
435
549
327
231
149
889
350
615
224
615
254
886
977
56
747
296
872
204
869
673
641
753
96
468
933
572
569
316
384
27
906
470
269
652
224
605
278
159
925
573
596
660
275
645
139
304
34
671
718
210
199
372
940
702
455
672
856
386
43
557
714
514
602
493
708
426
983
800
247
596
155
740
142
960
126
252
49
742
197
458
657
968
1000
37
411
211
483
553
13
885
438
643
522
583
189
752
678
533
828
732
959
246
704
216
977
804
922
142
39
69
319
169
92
267
661
46
815
50
876
148
312
127
734
519
738
7
720
758
170
214
818
994
244
591
527
18
364
922
712
351
799
199
856
684
614
280
814
621
162
562
486
148
837
577
660
549
880
69
891
787
288
216
471
503
310
139
413
865
576
731
922
465
651
168
987
358
671
125
586
92
789
879
485
315
331
978
763
90
952
93
17
613
559
981
648
382
458
264
770
228
14
834
48
819
64
283
216
378
501
676
104
411
699
390
772
151
942
479
723
317
586
221
249
486
475
79
680
98
38
300
656
623
569
766
596
948
432
526
213
369
304
620
249
908
139
458
639
820
208
1
922
300
438
440
54
370
302
891
751
852
654
877
71
151
237
991
279
286
85
209
921
250
672
768
664
314
438
381
678
313
298
863
260
327
834
862
936
416
128
548
525
217
627
518
491
299
981
149
453
119
569
878
898
340
266
614
4
16
83
613
945
869
500
650
226
481
667
253
408
700
167
110
27
23
698
472
654
976
850
554
815
783
161
462
921
716
741
145
448
569
60
225
368
645
962
339
211
463
540
810
221
202
309
7
775
494
990
813
596
814
338
939
344
116
640
681
830
818
922
902
446
467
431
625
412
631
680
672
77
671
165
187
831
37
921
716
155
642
214
774
936
707
2
455
490
154
309
698
629
308
233
286
728
147
171
522
987
824
737
772
974
521
3
779
127
938
904
702
54
898
127
344
415
607
325
920
621
87
264
19
835
173
373
120
561
255
246
141
610
643
795
21
411
24
165
247
403
986
987
599
743
1
241
101
681
568
830
309
713
455
916
652
76
82
243
458
248
159
952
692
818
600
829
179
568
612
555
294
582
593
284
648
1000
138
781
312
324
40
444
509
292
599
760
506
939
996
121
647
888
713
495
80
827
219
121
756
865
212
265
698
691
729
97
376
494
332
891
267
163
412
114
312
628
363
397
46
70
20
91
630
378
266
824
877
442
202
498
638
781
572
222
587
582
412
961
535
414
76
95
872
781
806
667
662
177
43
804
197
520
511
719
515
672
927
712
535
222
854
820
953
921
833
82
971
906
430
952
287
352
223
2
490
314
124
931
155
271
586
854
495
348
438
979
374
278
79
95
851
887
744
720
198
333
362
377
514
339
328
239
635
426
125
267
32
484
336
94
780
64
42
85
492
465
981
431
313
21
140
648
685
984
631
594
608
74
819
910
568
54
640
879
110
667
19
795
298
887
30
318
923
723
264
726
409
737
395
646
774
44
573
624
924
791
630
840
781
29
484
400
450
445
367
877
706
644
663
205
566
528
202
608
612
868
855
960
40
328
110
886
96
63
156
931
698
487
630
345
546
979
837
377
969
100
709
482
63
346
227
532
435
608
302
922
9
268
375
452
904
306
94
27
329
873
486
471
846
554
964
229
89
916
378
329
206
24
51
741
902
311
431
189
915
559
526
535
166
783
784
111
650
485
453
737
288
102
748
720
636
447
329
829
323
614
703
97
539
117
187
301
711
9
929
171
767
333
363
657
15
551
146
121
708
526
292
905
865
215
727
560
721
497
952
942
512
441
832
520
926
890
807
462
676
466
949
519
97
934
385
295
615
440
580
202
194
288
821
315
589
771
67
363
365
78
12
312
138
431
782
332
431
447
229
473
870
150
180
21
190
207
295
365
657
731
457
135
64
423
707
572
435
929
788
327
903
15
310
371
31
601
391
305
2
702
376
90
686
95
912
177
611
873
217
61
200
65
852
533
514
227
687
284
883
196
43
53
459
248
181
227
735
517
396
646
497
855
9
378
520
287
420
401
534
816
245
465
676
637
245
859
638
737
420
482
229
440
140
383
911
738
671
904
130
110
757
643
970
119
211
755
706
290
605
483
344
618
230
416
136
634
470
700
328
81
594
301
144
141
795
482
107
634
952
830
309
746
232
559
191
687
117
305
702
125
878
295
470
347
831
617
744
930
914
281
427
76
285
907
481
897
650
169
330
682
991
578
695
543
202
779
428
962
893
319
525
403
303
749
478
590
804
8
524
28
971
246
136
76
559
670
339
177
34
502
17
882
470
856
416
937
746
205
475
24
971
103
432
705
979
7
415
742
549
372
363
252
738
667
663
73
334
596
370
328
979
609
719
408
954
742
925
502
968
902
932
362
529
31
859
207
681
936
395
541
901
206
251
190
968
323
129
42
480
998
339
828
475
775
325
760
311
176
876
13
570
991
728
839
223
840
603
566
749
819
443
855
177
831
782
386
269
217
720
543
183
428
934
793
992
770
519
180
380
703
239
768
678
797
907
923
165
188
257
46
220
311
584
716
468
757
899
283
554
345
91
569
543
852
822
732
236
435
502
313
890
454
679
151
918
246
650
156
161
455
894
899
222
646
185
608
184
300
894
413
743
721
19
640
439
73
967
547
165
515
955
117
629
392
176
456
740
507
556
876
187
790
3
995
609
101
546
4
846
443
651
843
710
644
307
160
627
414
180
796
250
741
256
25
864
800
895
945
993
887
169
200
122
420
672
703
848
695
740
149
134
950
148
866
487
219
937
10
105
641
935
190
989
162
946
354
9
16
310
175
753
982
758
234
729
194
25
17
158
154
702
98
175
734
198
940
709
127
471
395
712
140
426
353
668
733
443
969
543
428
575
557
394
67
346
560
890
391
904
942
897
116
577
4
93
467
452
886
322
649
710
948
988
345
876
825
376
140
9
192
182
711
149
181
916
743
983
950
82
770
803
116
199
590
300
649
800
448
642
327
525
933
591
77
282
414
99
318
266
891
968
966
294
315
663
877
519
834
283
343
112
869
57
700
864
663
445
237
38
714
81
382
975
514
343
560
104
155
306
219
69
643
168
262
571
206
46
535
430
531
194
70
96
561
272
497
493
460
316
423
678
406
407
605
235
87
893
398
736
205
170
345
854
788
698
742
946
854
896
675
975
789
30
327
694
852
11
339
879
349
280
606
259
383
583
183
478
528
513
911
84
453
130
950
44
287
856
674
763
472
102
260
908
970
751
897
588
935
730
717
640
402
367
458
784
87
143
372
432
160
730
88
790
721
952
979
676
750
362
84
198
509
716
764
982
740
488
123
215
493
959
656
111
101
106
718
765
655
686
196
583
279
476
185
582
689
542
573
918
770
826
178
921
383
74
493
778
217
323
136
749
246
743
848
480
297
614
220
516
286
629
383
624
921
490
575
885
71
1
820
824
507
462
994
24
476
171
148
778
360
318
324
331
758
318
33
175
418
944
185
697
853
201
563
159
884
974
843
678
41
938
768
355
522
54
319
184
369
281
646
693
623
790
60
550
485
53
628
503
925
669
756
105
769
687
705
646
997
496
140
595
913
26
672
637
855
174
848
82
334
827
185
31
842
845
671
178
79
631
604
537
25
723
782
724
101
931
815
604
643
141
777
288
66
816
503
474
366
645
594
76
74
509
562
933
387
151
663
147
939
484
619
254
622
497
856
15
931
80
874
60
526
918
75
28
119
793
703
112
309
259
550
116
707
670
740
238
554
968
197
783
12
478
399
922
531
176
602
460
976
580
32
251
696
410
465
568
361
687
186
251
172
742
603
914
13
921
667
816
213
429
812
287
847
846
365
738
934
331
206
356
449
424
51
570
816
678
836
240
425
33
599
309
757
969
691
365
915
12
341
137
700
63
396
468
895
377
512
718
87
757
211
861
171
651
995
772
682
417
132
320
216
979
822
931
514
431
215
212
226
957
130
100
965
578
412
719
58
845
543
830
278
570
543
286
941
90
177
420
998
354
203
632
89
346
724
756
123
950
701
969
632
401
337
108
969
887
370
256
499
696
247
385
36
540
807
638
145
360
345
587
392
908
901
402
272
941
170
428
328
645
714
87
935
247
20
391
325
389
553
593
684
983
127
675
591
690
814
417
623
115
130
804
688
89
431
366
547
111
273
859
18
150
12
375
543
523
54
584
198
493
988
279
691
553
283
859
578
129
375
658
782
540
737
265
426
650
951
128
176
556
900
738
563
75
963
668
203
511
457
550
449
398
673
872
757
474
538
102
995
148
331
225
961
103
885
273
634
494
414
763
73
387
428
301
396
726
205
744
1000
112
949
455
27
125
45
180
84
728
822
961
417
560
842
355
46
546
1
939
849
327
675
678
238
439
746
339
843
70
556
497
586
472
775
97
621
790
710
735
887
141
801
23
447
289
926
453
333
137
662
137
384
559
833
714
429
825
515
458
213
949
176
354
678
853
770
476
550
134
413
526
698
566
753
798
426
213
237
134
641
162
291
702
851
458
835
505
88
750
667
599
121
549
977
942
792
756
674
621
912
305
262
984
917
325
704
846
395
253
110
517
679
678
91
879
931
555
319
85
524
570
163
796
82
112
285
11
233
291
707
669
977
878
203
209
613
885
803
175
297
714
842
774
661
507
248
23
396
295
718
740
331
98
999
188
335
904
752
599
335
801
377
183
835
145
740
452
579
796
954
873
439
879
228
916
164
480
362
552
377
942
604
122
72
168
457
283
930
433
515
452
952
734
554
734
289
631
916
851
629
877
695
998
199
845
351
842
251
942
152
145
886
732
292
598
203
444
614
473
62
909
610
696
194
763
785
721
3
883
526
407
153
651
330
715
983
615
614
632
828
489
385
193
586
275
681
860
248
475
94
794
652
966
629
753
419
163
862
452
893
489
603
218
917
25
304
683
435
444
28
91
262
975
80
498
811
211
362
783
228
11
74
937
180
622
636
508
469
425
638
463
780
363
129
960
117
228
841
693
893
421
749
543
246
751
943
224
839
111
959
527
340
559
540
515
770
502
325
733
163
135
95
95
279
273
19
617
679
997
815
558
99
317
861
873
908
169
63
99
410
630
730
898
876
192
790
574
520
295
431
752
33
96
665
323
945
615
339
467
810
8
885
246
154
674
415
825
183
322
852
861
495
912
417
951
409
610
188
353
88
479
393
362
318
694
790
827
674
443
782
309
803
562
874
272
729
144
717
541
420
47
240
963
323
245
345
848
214
449
175
302
522
279
263
2
195
525
745
319
342
750
389
944
86
520
400
334
523
81
856
359
251
169
114
520
643
958
766
966
947
843
514
340
346
888
869
169
278
269
706
115
704
995
525
911
522
489
753
201
968
381
501
855
704
998
15
509
251
581
463
248
569
228
804
369
893
929
227
91
350
805
62
968
539
878
103
464
967
252
26
851
190
576
928
138
565
79
76
221
758
245
597
818
528
408
229
38
883
176
196
643
355
589
987
133
44
374
56
805
65
459
496
856
215
170
312
392
997
185
215
962
610
336
804
828
180
859
566
754
263
513
399
519
639
274
258
701
483
6
61
568
304
554
255
24
429
234
260
673
398
566
582
999
360
397
546
572
468
293
439
948
285
156
376
646
435
584
317
168
77
377
513
544
316
967
85
284
286
245
597
949
522
448
245
765
188
286
707
839
852
464
825
582
842
115
997
858
604
430
595
264
157
947
749
670
431
544
593
825
261
175
407
399
839
776
136
305
670
572
444
519
481
231
804
915
47
912
126
812
629
292
74
26
552
61
520
255
473
232
588
481
66
835
311
951
148
214
243
980
801
195
284
461
621
864
571
519
72
546
530
158
846
831
107
126
238
227
716
465
821
15
712
373
101
466
9
82
447
392
51
414
264
364
475
579
333
608
686
535
226
706
39
959
938
768
486
442
235
646
342
50
700
99
320
792
169
575
67
856
41
401
238
698
950
716
581
209
400
486
581
191
289
243
960
357
676
3
757
887
750
989
735
332
742
343
610
342
425
33
947
223
911
542
611
835
731
714
334
712
501
366
314
560
98
880
735
494
903
987
790
481
572
426
44
430
784
948
1
323
592
410
300
560
325
324
305
444
476
303
731
337
642
266
573
578
377
182
855
681
779
346
594
679
721
903
952
744
917
390
764
369
415
566
496
467
703
707
222
710
328
813
381
320
828
913
933
303
819
768
20
817
264
751
387
946
340
672
647
689
793
602
904
341
372
498
417
809
734
604
724
583
217
112
109
246
994
558
361
429
422
781
548
56
863
41
911
580
842
69
49
671
174
412
288
457
626
422
486
9
735
623
575
227
638
10
798
654
178
28
967
49
71
601
40
728
613
596
999
788
305
540
281
324
732
227
22
686
242
122
957
597
271
70
132
725
664
911
493
891
953
40
14
665
371
809
290
509
320
957
396
12
118
923
396
988
106
967
87
382
635
535
452
998
16
190
793
23
224
718
746
223
96
763
169
456
728
408
443
836
54
699
822
505
878
974
345
441
197
247
215
175
287
594
745
580
865
668
683
134
618
986
216
186
522
621
11
785
687
286
409
580
882
554
293
154
532
146
207
881
727
816
19
103
699
320
799
945
306
377
598
589
289
321
519
198
458
357
782
965
509
931
526
962
860
782
686
555
774
617
659
157
35
240
373
6
602
160
51
476
25
369
201
134
844
42
324
411
869
342
397
272
8
398
466
724
273
793
558
343
693
568
701
252
130
836
44
161
413
580
950
129
777
130
459
682
327
78
704
819
135
135
693
205
632
523
400
547
123
19
211
760
663
713
627
12
995
855
568
169
945
906
741
476
497
70
340
512
732
119
732
615
980
291
939
1
798
394
409
719
869
38
12
486
496
76
253
128
138
921
383
94
364
413
506
3
665
276
751
722
783
29
333
799
644
421
588
397
472
60
142
57
417
944
959
710
831
17
386
370
390
710
210
848
396
667
441
648
920
504
736
927
947
489
380
29
315
502
284
643
7
502
731
72
356
969
500
460
781
517
552
66
965
890
679
834
789
117
402
600
925
432
912
209
709
906
43
735
803
437
112
764
219
844
950
390
451
357
597
172
832
698
966
831
751
301
209
829
13
932
685
342
482
148
167
317
90
566
389
466
467
864
111
74
727
825
626
423
380
481
47
522
984
608
758
555
871
394
143
123
229
96
64
941
894
907
598
119
419
35
230
508
393
216
22
937
531
510
303
283
725
225
47
496
150
247
446
631
479
910
124
907
486
747
78
599
580
123
708
301
352
814
220
730
818
28
295
779
848
257
147
956
210
594
13
716
797
842
659
432
817
821
722
910
189
768
564
439
940
615
841
317
145
242
206
697
810
502
345
355
192
934
115
717
189
597
646
18
848
382
111
51
510
510
322
289
797
628
447
556
470
107
885
591
171
649
825
22
193
311
54
258
712
383
359
801
388
359
250
275
822
391
824
277
124
205
247
764
790
471
774
305
123
973
203
963
695
761
354
977
723
661
532
682
769
136
891
323
894
503
301
472
231
957
604
827
963
668
138
7
871
460
2
852
927
236
835
395
889
350
807
345
516
603
113
435
773
384
495
443
392
763
260
33
228
13
763
828
125
127
590
277
428
367
529
958
847
814
933
915
108
141
287
530
726
588
617
203
265
190
885
789
656
864
645
392
499
864
90
549
801
458
25
315
239
410
488
34
901
15
459
822
406
962
578
912
470
278
854
60
251
952
117
126
286
637
347
825
409
964
79
382
826
625
826
471
431
349
777
426
522
288
125
134
310
150
1
453
3
607
373
236
782
126
253
269
703
397
195
519
401
944
403
73
484
361
714
103
688
826
345
965
174
219
582
291
839
203
508
553
149
90
477
121
789
186
268
260
381
561
777
899
638
895
631
203
558
103
381
204
711
951
735
757
215
775
871
99
773
682
34
159
976
383
467
536
167
841
214
783
340
522
504
206
898
890
209
924
631
175
369
300
921
150
862
228
13
804
105
936
175
370
90
118
719
90
154
243
108
503
630
830
886
770
932
319
722
765
681
931
637
228
197
577
424
249
52
421
308
783
420
201
165
665
620
786
963
827
614
705
679
1
202
627
599
266
324
830
810
152
162
704
668
920
745
279
212
821
331
534
829
811
163
13
932
246
91
884
68
526
187
101
664
547
678
797
572
61
470
371
664
747
60
983
18
848
880
339
625
770
958
720
156
861
335
161
13
964
848
605
840
1000
739
591
638
950
25
781
899
173
755
190
483
848
55
500
491
742
341
269
61
179
210
126
834
272
283
305
809
6
709
966
467
749
161
823
306
88
840
508
419
701
475
972
312
128
316
962
950
889
862
295
927
397
423
192
740
501
644
427
357
290
816
422
688
22
129
701
83
616
17
312
700
207
406
919
435
666
981
283
119
824
560
751
854
379
273
189
694
116
536
529
349
124
730
716
225
125
104
396
929
936
651
102
280
329
619
72
21
224
875
64
635
265
555
710
151
278
315
19
327
47
2
585
404
106
786
989
457
978
590
606
430
413
202
781
159
659
550
889
19
774
488
324
352
290
861
876
515
287
768
253
189
79
700
741
589
277
684
134
347
933
640
73
133
841
908
915
534
864
316
66
305
280
196
483
886
783
508
718
988
728
553
430
122
601
846
765
187
530
344
406
618
822
605
343
127
156
443
651
790
56
281
616
76
722
736
592
425
109
922
862
165
394
575
599
866
603
408
746
721
254
1000
274
184
278
146
780
878
405
829
887
740
415
876
194
496
378
928
817
776
54
560
726
653
139
265
111
928
926
548
47
220
246
554
530
821
286
486
826
310
959
600
691
115
63
667
668
593
350
652
167
667
5
787
406
777
719
360
668
696
751
312
500
745
859
167
647
98
995
913
520
139
982
208
968
300
182
667
951
401
345
65
477
301
390
3
819
541
884
944
610
801
355
575
864
155
408
114
381
551
782
536
252
459
144
689
382
325
390
910
70
359
697
84
640
155
359
29
87
833
716
732
465
733
104
233
518
129
821
882
632
112
555
293
782
567
589
570
523
106
363
264
493
955
655
102
88
33
720
732
173
885
224
606
741
705
700
644
414
436
545
514
547
784
315
201
502
55
149
35
327
931
703
502
709
621
903
964
524
371
121
906
773
979
181
401
968
767
677
322
279
459
698
214
879
568
969
864
945
138
810
331
743
204
65
613
44
879
341
193
901
780
489
404
451
409
216
943
994
169
151
877
62
960
470
190
591
642
384
228
554
238
431
432
653
428
524
378
744
737
117
459
658
858
711
514
29
683
155
331
529
980
816
211
636
104
782
756
716
784
699
582
687
816
705
949
44
448
204
179
297
336
897
306
195
236
570
594
220
987
614
479
938
945
189
959
748
728
184
681
457
52
887
820
886
458
377
293
420
941
141
75
9
840
404
125
613
879
927
946
521
890
835
898
285
606
111
177
218
863
10
785
553
708
561
937
386
205
711
84
479
153
415
111
829
589
185
378
686
642
163
950
347
301
782
733
629
662
489
293
392
503
782
787
877
400
35
794
881
137
204
814
25
891
513
889
422
487
650
71
100
67
853
445
423
679
477
48
564
584
299
291
839
628
864
411
295
579
633
112
534
207
554
754
143
758
958
389
498
653
342
477
931
441
710
352
414
490
596
365
17
482
827
158
302
470
363
724
775
188
249
736
238
322
872
123
611
646
176
29
386
317
470
109
375
89
763
564
823
917
303
449
288
215
171
575
900
37
283
742
740
578
158
135
135
677
151
490
576
473
622
989
858
958
686
949
735
934
795
66
119
815
350
341
350
758
986
862
578
884
930
277
677
692
72
158
371
341
983
442
470
177
150
773
203
709
113
913
646
295
26
321
131
920
408
651
383
817
479
166
803
132
565
34
992
487
454
40
117
83
520
492
176
946
635
33
557
997
623
582
560
938
51
899
684
309
665
85
581
691
661
904
520
737
303
962
115
614
74
654
823
463
694
241
451
716
845
628
473
439
366
172
477
380
18
355
484
105
663
241
183
386
840
460
349
14
275
851
861
343
820
19
737
157
681
787
596
908
565
948
750
989
550
759
926
438
70
360
260
436
393
635
776
982
370
122
36
405
21
181
31
742
757
55
665
548
618
392
369
415
968
480
505
332
466
752
197
36
22
80
150
646
629
998
835
245
645
278
151
499
152
219
275
100
438
583
985
554
569
384
159
840
234
623
501
531
767
616
822
249
304
810
336
748
525
802
518
492
353
857
42
307
248
373
189
605
463
587
909
710
736
328
404
993
427
757
721
922
1000
847
306
611
138
847
937
135
453
52
709
707
964
20
33
776
14
783
683
276
286
713
994
507
934
430
259
622
614
561
192
259
379
194
110
666
976
625
142
538
94
322
314
899
485
105
875
564
682
176
576
130
279
26
909
969
297
201
516
404
239
581
62
108
816
136
880
765
185
93
600
233
782
39
802
726
452
818
445
60
665
962
462
618
37
18
443
487
251
368
770
190
743
42
926
497
200
602
931
125
982
346
58
500
87
18
2
351
178
674
696
654
459
582
810
296
943
857
770
907
726
33
843
485
437
925
397
807
926
944
977
125
615
503
245
329
666
254
144
559
254
694
861
254
800
108
323
753
972
896
963
855
625
89
450
196
626
274
937
920
668
166
112
859
801
840
17
382
345
951
156
123
290
342
897
64
61
92
547
792
753
425
754
326
536
876
115
614
975
770
926
614
414
391
44
941
410
165
737
195
465
813
205
416
916
720
191
599
913
662
720
848
879
681
548
517
698
95
348
660
141
548
994
208
741
591
573
552
399
452
916
644
472
579
493
275
28
10
506
954
220
872
886
674
468
97
685
906
224
968
55
369
634
262
589
457
343
554
325
744
996
722
103
644
756
806
301
119
285
167
185
332
201
305
249
261
969
810
955
588
555
649
212
631
947
402
807
700
810
114
731
994
136
167
18
115
743
911
281
307
857
861
596
806
826
912
778
20
222
414
357
857
186
888
784
182
927
864
467
253
658
620
262
2
145
535
943
184
237
453
1
760
420
668
838
346
474
121
63
204
770
969
114
39
628
936
892
838
393
768
435
55
604
662
908
743
673
759
359
647
7
668
739
816
406
515
687
85
834
178
427
586
420
249
938
576
621
712
234
993
11
520
198
564
97
44
909
774
881
834
833
675
634
260
530
355
497
370
799
842
58
750
274
391
46
256
535
359
605
213
750
349
416
135
690
903
94
7
738
777
874
953
156
773
596
433
453
152
373
185
157
892
167
772
702
464
655
964
378
309
433
173
548
912
585
802
372
253
91
705
332
368
388
878
732
988
611
179
181
500
712
92
775
986
701
546
357
704
692
335
711
210
337
974
64
228
456
702
547
504
401
924
571
148
721
579
213
364
228
812
772
71
432
837
646
622
625
87
539
735
605
565
816
797
144
810
489
872
803
74
945
143
678
61
15
999
918
108
389
656
669
758
715
30
192
481
940
566
481
728
561
840
649
593
526
83
741
98
433
189
357
534
544
405
702
344
880
644
209
730
324
282
917
588
223
399
139
338
460
621
791
963
351
130
948
857
984
943
793
134
845
282
178
643
643
668
402
306
272
441
692
304
747
534
60
304
774
672
901
169
337
650
712
545
313
974
804
296
661
952
708
10
185
253
276
722
194
95
137
513
669
442
263
913
685
38
878
877
910
680
838
622
982
842
937
841
429
680
259
605
614
461
851
774
838
690
485
920
368
535
223
529
649
688
810
744
353
457
688
33
279
703
540
927
287
238
850
425
622
413
900
742
2
935
11
837
786
407
586
533
390
661
713
148
876
765
637
214
293
451
431
287
927
837
569
838
75
498
930
926
355
378
924
684
846
535
117
640
526
434
674
571
604
375
424
863
328
605
157
356
761
889
16
231
845
605
462
823
797
922
400
132
491
248
442
425
43
947
206
561
239
256
786
573
808
445
214
593
782
537
823
444
361
300
909
70
759
826
972
511
488
722
136
335
401
835
42
240
630
474
634
78
211
301
770
677
823
405
513
651
541
589
310
878
939
587
975
408
179
724
572
380
962
541
818
928
318
19
599
183
295
357
545
180
499
682
406
937
319
700
102
974
418
41
955
306
715
981
566
283
690
295
194
700
265
223
332
259
943
929
332
844
139
370
588
26
849
182
782
889
893
79
136
593
967
223
440
12
676
253
867
455
495
922
235
727
374
836
425
723
303
364
117
357
690
643
878
859
871
499
911
370
390
245
428
357
967
573
722
540
208
167
480
940
210
237
796
146
148
939
608
116
859
472
42
650
167
753
218
167
450
728
609
585
482
746
976
908
147
933
223
580
989
192
273
799
910
238
184
760
528
108
307
232
857
677
220
952
990
51
560
91
422
109
612
422
491
124
738
904
174
103
264
91
122
458
463
171
420
650
658
437
986
698
271
710
942
857
849
549
543
248
722
91
487
8
948
25
466
307
664
490
881
642
745
684
526
967
960
561
860
540
424
298
228
874
221
136
6
767
519
786
190
248
356
851
385
161
565
603
505
260
974
27
751
924
86
254
573
45
960
376
439
186
885
161
140
871
757
386
303
719
773
326
533
230
161
447
305
163
196
507
335
873
684
61
644
431
407
857
976
56
784
711
500
185
138
235
992
522
508
232
797
510
917
650
927
981
350
752
565
204
485
539
131
112
386
548
783
315
963
839
924
357
967
384
812
819
717
60
887
27
535
184
778
592
78
817
245
481
368
102
523
63
359
526
597
415
278
329
984
190
831
221
473
508
600
224
114
671
595
701
461
970
990
594
707
508
515
465
886
733
852
202
748
343
648
132
289
332
438
852
136
193
843
323
182
727
924
607
911
489
429
190
831
594
12
999
334
562
178
66
40
848
853
293
441
964
960
928
188
427
355
146
934
277
770
646
3
601
166
239
517
297
57
218
802
318
884
727
45
747
519
434
203
377
298
560
102
899
798
709
531
419
709
45
860
771
757
5
413
41
633
197
347
766
244
76
307
511
439
736
476
924
548
478
935
895
708
790
449
166
940
64
877
580
394
661
415
175
8
904
810
493
51
212
465
819
682
851
117
509
705
723
362
247
146
206
875
833
164
291
588
63
54
188
442
378
804
109
599
215
722
168
142
396
156
204
374
504
234
865
785
887
819
464
651
840
624
979
7
563
518
45
431
663
571
954
668
376
353
480
643
145
273
824
802
886
537
72
62
103
432
370
849
980
170
419
855
725
531
22
167
727
866
126
365
549
813
226
51
375
261
62
993
298
649
228
761
759
725
728
294
497
227
488
280
654
812
576
659
996
716
171
807
825
259
354
171
806
357
432
214
808
574
817
536
887
137
450
959
675
532
381
160
783
980
405
185
324
110
552
775
247
633
881
12
45
671
213
195
257
662
378
234
391
452
106
88
58
252
896
938
619
647
79
865
136
716
812
755
227
645
942
52
253
907
485
757
344
213
9
761
956
940
314
217
12
688
657
120
192
927
197
736
608
471
487
774
921
616
600
467
941
370
915
831
887
138
691
424
787
600
279
849
924
279
255
121
882
494
794
741
454
947
332
19
648
212
932
706
63
765
798
530
157
10
67
549
309
965
343
562
124
868
457
6
141
13
545
835
928
524
906
933
599
631
9
472
943
224
681
480
657
151
771
593
699
719
514
599
381
371
424
902
628
336
780
517
783
343
677
502
436
155
176
27
21
767
299
436
353
597
483
705
832
910
657
688
792
979
246
434
352
247
311
616
173
827
455
828
712
216
360
92
951
14
551
436
55
798
510
796
102
2
353
827
868
826
62
431
586
756
724
925
783
198
277
835
571
130
63
210
216
437
833
234
422
757
965
641
528
259
324
117
735
774
607
423
559
73
5
476
925
904
724
967
719
605
253
406
154
716
227
679
998
51
439
282
594
98
814
416
564
455
167
32
328
263
150
742
827
218
103
214
369
817
444
335
124
933
825
909
605
705
519
167
415
957
435
648
656
85
683
312
633
400
851
883
943
415
11
502
584
463
21
721
461
329
846
790
550
293
494
918
43
84
621
939
966
785
64
373
137
631
312
390
852
1
441
605
340
619
129
933
853
144
160
959
249
876
258
438
67
247
178
514
358
168
739
264
34
16
872
953
49
292
826
201
540
494
397
866
932
797
392
70
124
482
603
227
61
890
219
332
442
873
968
47
789
317
262
329
873
355
274
416
287
292
208
17
16
125
946
451
994
743
918
299
974
571
301
862
519
458
583
333
562
70
136
150
760
908
672
416
848
352
371
645
269
806
17
313
655
87
712
904
120
714
595
149
928
635
523
187
811
225
863
215
112
121
382
999
963
540
710
313
924
275
21
952
836
486
370
500
185
704
602
416
933
273
866
337
578
518
543
712
216
543
833
19
502
500
348
831
691
509
781
988
407
233
152
909
393
237
159
902
242
865
930
957
41
377
766
60
939
434
584
586
869
880
373
662
46
933
366
701
420
520
620
506
930
546
330
415
312
251
529
993
172
711
798
670
247
719
206
543
72
964
13
294
783
470
571
793
384
708
466
497
642
654
199
198
694
366
580
30
567
280
598
875
80
567
728
505
4
321
511
828
943
303
779
609
123
216
70
901
162
232
632
203
951
582
892
80
960
554
449
542
641
168
433
10
135
125
540
109
128
370
205
823
539
756
106
794
721
845
668
666
958
845
303
412
372
32
883
523
782
797
327
797
660
626
272
201
119
885
483
961
749
315
49
591
231
486
440
47
851
311
162
573
459
875
131
88
946
504
830
171
2
985
11
775
798
263
1
826
229
833
614
762
527
201
326
898
391
513
635
208
247
448
455
762
888
949
987
577
561
240
773
108
486
826
525
910
919
864
874
315
133
378
427
72
103
265
374
4
253
956
402
703
374
872
897
138
679
555
210
875
40
433
300
282
616
726
187
671
470
916
486
887
266
537
737
197
810
776
378
710
28
534
994
748
949
137
885
726
408
849
118
135
469
697
950
169
25
905
924
384
629
389
2
527
384
369
804
328
633
122
403
647
272
313
155
798
712
137
717
280
962
715
762
431
781
783
883
694
592
772
842
308
703
764
624
218
367
662
717
928
414
157
679
827
493
701
309
247
445
759
685
135
976
74
927
773
590
544
786
401
675
549
45
959
767
309
320
424
269
861
24
369
310
787
140
430
24
698
2
377
243
784
423
316
501
446
392
369
275
148
35
869
605
136
695
687
566
611
795
823
622
261
608
821
503
812
208
852
129
390
597
564
35
48
511
895
934
757
429
135
311
550
106
385
423
241
340
501
657
350
713
282
984
435
823
388
157
18
829
999
374
698
214
718
356
835
321
598
197
399
563
461
852
203
239
859
871
748
471
144
805
332
176
97
745
922
866
499
626
516
760
828
235
374
923
993
363
539
111
657
159
541
578
221
565
25
343
994
630
340
347
416
629
764
442
467
175
160
416
542
910
335
107
144
969
249
187
733
110
563
384
923
318
687
763
40
714
614
164
707
807
369
59
752
498
781
901
231
729
673
505
752
369
261
108
643
721
729
554
670
66
473
475
216
724
487
428
801
490
718
691
796
680
983
846
48
674
231
300
844
597
501
656
353
673
929
169
204
897
544
598
379
888
400
408
938
157
795
651
411
598
943
821
859
681
492
667
731
712
695
214
615
506
889
255
939
16
162
153
436
767
742
114
974
437
698
992
922
553
981
286
814
84
728
266
465
640
995
14
90
100
771
771
182
770
220
187
117
572
564
913
471
342
940
560
62
54
841
167
546
682
486
219
251
427
553
719
569
273
249
981
849
159
600
627
249
596
198
714
393
204
361
83
8
477
817
747
939
77
582
608
83
74
637
869
778
862
410
259
184
918
793
584
990
187
646
184
563
633
287
603
311
418
489
107
603
242
865
783
44
611
351
569
312
196
703
948
21
970
516
20
301
529
320
321
833
853
721
74
146
773
390
509
836
577
938
531
221
534
381
266
658
552
913
984
372
880
206
461
196
509
280
94
53
914
297
998
356
846
269
870
782
204
786
604
998
355
339
537
22
943
719
724
851
855
270
814
870
996
480
964
368
497
518
697
140
220
838
792
775
767
886
70
740
711
316
453
775
446
810
728
411
862
787
311
687
53
812
647
235
383
480
67
964
543
921
581
494
680
827
567
363
276
107
317
762
232
817
149
233
522
43
168
327
856
789
746
672
31
723
547
328
23
845
191
535
434
767
691
199
595
292
447
533
487
430
868
290
651
803
693
914
440
645
662
790
274
227
507
455
45
633
151
296
469
202
571
772
964
890
79
659
577
20
625
158
614
592
327
952
857
406
619
471
705
730
298
694
115
147
275
777
992
522
19
678
523
730
513
764
20
896
64
19
38
437
439
146
868
104
610
289
46
555
877
558
169
762
230
853
137
634
622
670
931
873
231
764
158
968
894
514
914
626
644
833
928
727
684
268
598
22
175
739
266
413
964
969
997
639
715
289
229
561
957
911
852
76
238
197
702
873
923
702
966
874
157
981
725
202
180
231
693
981
489
868
226
61
302
22
873
42
400
785
20
586
717
720
702
78
959
835
257
134
144
696
334
352
191
843
676
927
592
5
221
470
760
851
344
432
869
200
454
19
856
670
744
399
811
710
646
292
130
855
381
727
688
813
105
907
748
712
282
590
495
397
328
362
902
204
51
498
76
34
84
830
365
868
357
218
308
88
597
745
902
107
15
726
781
837
618
985
649
466
41
626
691
874
385
692
766
765
338
703
901
249
747
38
957
192
895
538
386
102
980
487
691
723
655
365
498
776
56
349
204
486
437
588
778
644
379
683
608
926
566
644
268
143
279
846
695
886
98
124
520
748
758
236
276
976
784
342
767
880
270
41
116
829
175
770
969
976
562
29
815
112
508
14
675
230
824
692
214
418
263
265
922
714
696
291
148
380
545
386
624
898
873
604
644
638
678
75
153
777
344
418
881
519
660
778
72
124
540
86
501
530
369
265
242
582
887
678
106
51
672
60
722
595
561
541
16
822
819
145
219
417
444
316
625
85
785
613
999
682
562
706
938
522
433
191
500
280
520
555
109
314
660
823
78
515
706
36
87
964
913
725
622
806
276
989
671
733
720
589
957
387
204
732
584
807
128
873
286
778
901
869
376
556
199
343
86
990
184
917
254
499
958
289
196
715
605
788
167
843
426
106
42
985
424
445
712
695
647
149
200
43
724
255
727
334
847
50
764
404
457
872
615
129
121
914
229
355
435
671
758
989
289
80
825
379
526
58
596
445
817
362
542
238
589
191
191
734
956
949
268
709
911
918
377
490
480
395
771
201
156
987
817
918
672
373
481
758
119
817
546
553
463
107
260
169
778
401
849
973
852
681
637
183
433
112
524
74
10
627
212
68
943
498
907
783
719
479
169
994
328
334
195
300
24
229
135
989
268
508
932
259
258
832
807
447
249
520
723
399
828
217
89
434
397
665
517
622
404
464
662
271
251
182
35
542
413
69
230
145
9
939
175
895
974
488
860
723
5
431
486
424
675
364
161
16
444
168
26
94
833
141
227
979
664
734
201
759
136
963
578
582
439
77
411
638
801
51
529
351
98
826
583
220
660
977
722
597
479
693
931
455
797
514
755
847
983
256
511
344
653
986
127
190
258
663
418
303
721
296
957
549
263
88
701
890
250
47
172
101
760
953
321
792
575
455
140
336
469
243
750
152
995
952
932
505
445
453
25
619
321
678
698
428
404
976
355
735
505
272
831
913
56
970
598
505
981
643
909
271
689
16
205
286
625
658
596
659
533
117
454
341
470
897
974
251
675
833
52
677
570
924
8
463
543
601
453
39
670
750
105
734
219
559
455
152
556
386
962
583
124
396
920
597
246
701
177
950
817
55
700
925
416
979
318
44
945
321
90
862
691
869
412
197
609
611
401
742
711
643
59
453
667
503
481
505
116
952
629
886
739
808
268
893
824
479
250
890
935
245
695
701
281
204
538
912
585
7
558
186
542
166
291
391
470
777
137
19
356
930
583
863
348
993
699
373
630
163
982
501
778
411
168
19
927
4
843
550
509
265
588
541
890
163
879
418
976
586
177
46
735
899
477
388
640
461
71
951
210
333
454
217
225
307
87
750
661
747
222
86
90
436
89
839
102
811
557
653
282
482
778
793
437
909
442
189
25
480
8
676
222
980
678
47
662
649
940
279
612
572
230
938
336
183
625
377
393
7
510
760
911
601
854
379
239
860
56
972
912
447
341
978
594
155
312
740
502
408
593
673
812
968
468
355
768
133
20
262
463
361
571
654
829
321
154
690
938
813
347
437
545
862
18
842
763
588
471
110
832
91
15
164
244
706
207
53
872
459
889
208
359
444
657
446
719
161
613
486
28
545
51
540
85
535
267
221
165
566
801
615
312
269
254
877
144
24
272
105
815
725
425
575
591
285
470
645
500
936
947
756
627
363
114
6
939
58
6
707
973
49
793
180
312
352
659
818
555
60
170
79
394
979
436
668
494
121
431
609
97
159
505
325
651
160
447
90
349
516
504
451
90
46
348
271
317
622
353
96
125
541
469
422
250
87
630
276
846
389
878
246
461
700
364
711
247
727
935
592
220
457
294
332
382
236
599
223
565
508
955
415
165
712
431
102
325
332
154
471
726
976
505
959
845
680
682
233
461
311
687
118
206
105
331
373
173
840
977
812
948
115
559
796
943
525
889
491
569
247
376
648
636
718
57
855
315
631
293
364
173
427
541
595
43
830
406
413
981
742
525
83
154
3
953
565
242
71
378
509
897
712
924
819
858
141
271
187
530
899
557
339
270
915
824
29
129
855
805
27
510
863
472
423
64
215
94
582
158
267
514
6
401
292
970
160
75
467
68
57
754
295
460
11
70
249
352
523
360
234
222
691
884
783
42
889
397
556
832
721
154
786
627
402
803
828
770
804
230
850
995
368
134
999
959
960
5
101
685
538
214
56
919
203
143
610
529
780
605
119
883
605
361
246
637
574
166
277
445
882
642
883
921
23
216
712
584
846
543
144
634
403
80
919
137
351
978
106
611
464
21
67
54
583
128
646
184
997
852
806
21
819
370
341
975
374
717
64
287
17
367
118
17
81
843
642
758
835
721
57
916
452
252
658
713
965
829
42
12
125
728
129
714
881
830
176
740
924
545
262
537
366
800
136
660
180
718
233
215
433
585
895
844
726
823
524
519
504
907
493
594
36
628
99
465
964
654
769
696
274
69
996
671
436
485
243
654
218
332
103
653
419
152
571
627
310
78
201
388
124
182
235
16
315
57
552
727
638
809
420
911
330
641
592
494
778
306
230
861
132
57
531
344
237
114
677
656
99
321
907
723
903
402
124
103
191
148
392
502
447
959
105
986
744
366
416
124
555
572
687
666
44
595
384
342
413
261
816
38
931
213
567
885
304
40
316
803
931
876
937
627
445
80
464
244
623
122
524
94
402
438
317
984
269
805
78
398
729
721
227
423
917
415
96
916
660
352
201
813
469
512
506
307
996
324
50
174
471
830
570
700
531
584
496
515
586
795
797
121
642
447
657
64
8
489
925
513
900
675
591
461
302
329
264
907
815
131
832
124
398
977
956
597
84
142
81
249
742
246
957
388
949
960
479
139
830
38
779
253
533
979
151
836
621
566
309
981
263
600
935
244
562
383
238
650
745
873
467
218
220
2
923
4
710
336
68
316
752
106
706
64
881
672
88
166
702
628
13
564
890
93
638
674
873
224
776
34
593
591
902
506
250
900
975
618
414
445
424
571
213
819
354
953
557
646
79
452
544
552
616
707
230
111
627
992
946
301
639
580
211
843
43
497
70
851
521
877
401
442
40
255
299
283
503
975
201
585
464
342
756
711
65
260
844
397
485
904
294
563
760
372
38
836
767
387
444
178
568
844
527
503
26
413
568
731
838
459
455
511
671
266
694
771
103
911
616
308
443
185
785
875
336
602
979
610
230
935
418
194
433
655
87
819
483
350
121
915
982
481
201
590
910
813
849
902
612
472
293
428
375
873
338
39
484
662
262
470
175
468
337
39
711
431
982
831
120
448
934
755
772
588
40
182
99
362
485
234
205
414
283
429
46
711
877
64
143
497
543
656
494
137
107
761
491
440
137
721
134
235
426
232
789
771
20
143
57
962
527
565
63
654
696
186
612
841
525
689
228
202
261
277
39
421
706
648
820
506
172
152
323
700
290
533
131
690
623
377
931
462
699
320
29
590
642
147
360
743
63
151
33
868
248
484
675
883
950
813
422
673
318
255
465
863
566
450
450
146
995
638
885
888
910
758
948
388
767
939
711
429
621
206
883
687
581
895
597
173
501
27
661
114
590
870
938
591
965
22
223
806
423
579
33
79
894
432
257
520
58
236
468
888
635
401
41
295
693
276
886
285
135
799
756
295
204
38
589
664
446
432
285
175
73
60
625
560
94
894
826
546
877
876
306
773
43
592
857
372
726
465
319
60
250
715
252
380
244
732
862
96
41
154
603
821
966
691
480
677
805
654
51
153
260
221
527
349
739
717
175
492
140
549
427
942
632
14
730
900
584
855
163
699
928
344
308
848
214
643
670
974
557
391
191
440
461
772
51
680
269
814
981
221
568
292
808
983
466
425
777
658
55
474
490
904
760
490
973
621
498
692
456
824
755
407
963
457
744
36
667
77
784
295
315
466
922
811
684
98
599
251
198
893
865
313
298
821
237
306
138
738
800
527
475
309
566
336
379
984
427
636
530
786
240
462
414
71
751
502
711
568
53
699
484
691
268
489
624
568
933
877
92
254
386
296
168
349
59
103
839
578
179
680
903
931
848
281
126
669
845
217
39
797
788
464
531
646
481
501
462
826
369
56
901
153
37
413
470
84
587
134
472
847
559
371
161
709
771
402
554
780
94
694
622
318
713
562
598
769
855
473
378
666
341
106
683
77
528
605
744
501
431
807
724
996
815
874
34
830
81
428
963
158
595
227
777
43
950
416
531
652
296
639
389
611
494
600
141
293
364
218
964
316
684
169
205
609
925
429
105
211
952
437
936
391
4
599
992
772
348
183
222
879
926
87
82
955
146
564
335
921
758
767
147
102
390
886
772
683
891
717
558
914
116
752
774
749
147
257
989
948
244
343
331
685
13
743
985
331
366
872
720
406
862
737
46
670
930
458
876
918
283
470
172
346
559
960
149
282
875
738
31
659
475
528
246
869
130
614
192
528
295
893
413
243
251
633
76
702
665
670
148
253
34
340
571
696
473
185
9
173
170
344
483
897
641
606
304
954
581
275
233
556
727
387
731
947
654
289
501
624
815
307
246
649
485
13
722
627
456
609
731
328
501
74
618
58
622
15
253
599
65
611
195
969
927
648
962
282
932
412
872
741
605
107
938
127
675
568
678
221
964
237
524
233
432
794
684
700
332
346
969
259
597
802
98
426
714
901
399
731
314
386
708
616
646
971
449
54
888
98
579
170
6
926
84
50
477
670
205
547
742
174
424
98
680
567
514
512
779
948
615
219
878
325
430
699
580
420
51
681
447
570
897
220
101
648
493
963
208
842
546
747
133
144
898
148
718
650
438
805
265
64
992
89
278
376
549
209
960
304
899
926
756
939
932
860
472
15
376
780
609
348
722
370
615
301
447
722
689
561
414
194
591
139
499
327
730
268
98
258
392
761
130
410
597
516
564
269
502
46
305
779
684
308
455
169
890
676
619
74
62
564
904
443
526
78
721
29
241
112
318
240
924
421
195
747
669
580
244
504
429
191
448
810
316
342
487
582
258
116
419
309
968
917
911
13
515
444
139
132
93
459
589
453
678
869
456
76
388
240
243
944
298
601
478
638
366
253
137
989
889
368
527
549
616
361
851
126
255
353
653
385
572
598
621
982
746
349
24
851
926
553
153
985
164
646
721
550
40
953
111
214
326
415
758
336
967
859
676
85
519
623
367
570
949
105
883
831
319
727
852
872
508
886
629
977
537
686
562
195
485
637393
724
122
260
698
482
843
499
769
670
570
398
938
620
576
7
35
637
664
903
505
116
246
305
922
12
653
438
946
543
598
822
35
651
556
512
825
17
521
775
188
347
263
336
410
281
714
123
796
454
576
381
291
215
579
140
380
17
79
280
596
730
843
864
486
994
939
965
746
265
627
965
567
384
2
189
917
332
973
768
625
363
799
830
627
814
48
489
674
744
323
602
145
988
521
916
315
354
699
101
622
463
861
85
974
156
93
299
142
505
520
698
617
194
492
894
102
441
267
323
971
702
205
168
610
110
142
624
571
952
205
230
816
568
772
159
179
672
677
804
359
498
51
502
362
127
372
948
356
32
396
723
303
174
651
350
597
949
93
476
128
905
315
99
895
452
460
236
303
671
589
73
738
979
808
433
912
602
885
332
694
755
460
525
856
941
182
180
230
52
284
262
268
770
165
764
876
345
519
664
721
969
464
376
905
841
839
492
996
488
620
843
968
76
926
219
487
256
635
651
341
537
31
779
533
325
216
696
721
526
248
610
221
61
90
815
753
711
510
763
484
483
984
470
690
74
532
90
511
67
152
266
898
225
192
790
803
608
549
153
89
269
89
828
402
968
19
498
500
698
271
992
108
785
116
390
411
11
356
616
725
491
410
845
696
17
559
234
649
202
406
788
326
28
339
682
328
334
423
969
1
403
665
423
421
997
59
202
338
149
145
115
688
538
99
575
290
527
495
681
915
773
984
517
720
887
90
415
432
778
195
880
306
173
595
881
19
293
177
416
210
815
891
637
246
85
659
307
177
960
818
43
562
851
483
632
989
249
438
671
672
490
314
923
467
605
830
101
3
822
827
196
417
724
652
112
316
98
254
115
231
243
943
528
761
874
394
166
39
779
924
264
930
81
442
3
602
299
777
319
697
376
272
348
373
538
632
743
910
107
13
93
391
404
267
851
230
466
48
505
950
594
244
200
667
681
790
667
205
868
485
96
611
301
859
556
140
691
503
656
414
929
504
409
592
202
808
695
827
980
407
256
232
710
192
947
828
288
218
778
698
188
911
406
661
650
428
876
298
453
982
790
119
641
466
606
951
7
93
409
389
278
111
358
315
731
862
954
991
365
591
445
252
906
435
971
630
605
987
472
66
248
653
48
995
808
794
151
201
930
293
978
827
774
766
448
302
791
100
423
777
692
391
199
835
192
619
837
888
131
631
607
679
219
49
687
723
948
770
244
378
203
615
223
461
712
495
473
963
750
203
330
496
462
568
417
530
747
223
213
356
889
708
880
3
51
968
967
970
265
541
861
752
809
937
262
615
710
728
559
980
631
868
694
56
630
650
3
91
56
463
555
721
398
241
719
414
32
56
48
922
615
852
63
11
362
695
217
457
541
246
119
451
319
394
98
113
512
96
310
753
893
530
891
904
445
593
117
914
375
628
131
58
737
30
543
702
234
21
172
88
171
477
223
629
496
132
462
476
634
908
322
292
76
349
412
773
745
391
623
509
783
746
856
178
718
212
430
909
941
135
383
887
44
37
208
923
840
184
58
759
829
479
77
334
473
589
303
111
857
690
578
824
268
540
947
687
725
829
340
189
767
976
733
96
622
526
544
148
463
355
787
286
589
709
344
915
255
931
824
833
340
397
611
983
216
787
108
116
974
336
678
760
645
94
442
665
165
573
951
14
606
350
693
243
660
353
552
291
403
580
644
447
166
935
371
725
707
736
171
906
953
192
190
929
291
786
25
343
770
126
757
883
580
228
739
81
892
635
964
996
460
24
425
775
380
163
520
780
80
182
484
433
898
95
765
785
580
486
499
15
661
1000
518
756
957
101
825
171
338
97
108
153
538
48
653
916
14
551
973
486
754
788
565
289
518
463
485
126
175
398
841
297
717
669
878
530
16
81
58
706
603
711
447
33
575
1000
725
462
246
588
385
667
291
668
992
805
963
160
929
649
410
390
698
375
267
310
687
486
434
487
275
856
441
234
311
865
833
301
276
966
811
462
890
753
716
206
551
839
52
485
723
379
419
126
342
95
118
98
364
43
226
288
810
166
605
813
75
896
661
206
767
653
662
970
93
149
83
132
631
792
749
399
343
360
515
457
880
307
847
748
508
750
940
806
518
218
947
843
580
698
495
821
316
393
884
695
307
861
294
850
868
897
878
7
168
585
820
57
712
451
336
310
768
538
98
669
41
527
761
72
813
731
113
360
781
909
850
416
44
367
166
9
45
743
106
291
776
183
145
313
238
402
555
214
953
212
890
7
335
698
390
960
837
150
141
666
94
248
638
787
751
739
748
332
230
50
161
88
504
850
121
459
816
559
600
564
397
202
116
904
435
827
67
282
960
867
809
964
843
497
686
245
803
12
886
691
180
704
308
327
242
539
578
968
972
185
983
678
575
558
375
97
476
157
18
987
169
858
955
881
105
746
708
190
741
813
44
428
979
30
71
504
492
391
173
185
856
1
161
887
966
198
513
931
968
979
809
304
803
723
277
706
529
303
855
396
760
225
373
935
939
324
207
418
663
918
274
221
950
22
327
576
167
403
310
552
311
787
947
99
481
498
842
902
670
166
121
682
450
915
20
477
743
629
932
153
627
443
86
83
27
654
445
480
257
568
427
360
569
679
723
478
280
712
841
869
572
731
10
832
783
506
705
267
841
763
392
304
520
780
33
68
358
27
536
225
412
197
596
714
489
15
317
648
156
697
589
959
598
763
444
765
355
192
533
793
94
599
388
465
792
169
389
397
172
595
214
125
770
147
62
874
772
313
145
20
630
150
784
737
517
611
926
951
874
620
62
390
672
593
346
956
513
463
153
104
362
968
473
224
544
132
275
207
593
409
453
570
706
937
13
490
837
673
949
81
900
5
622
69
200
561
547
805
918
560
185
176
442
9
720
590
386
462
836
635
372
859
172
438
54
159
503
998
382
110
659
987
831
504
881
589
148
709
597
983
215
91
581
936
759
172
66
861
3
47
684
337
796
588
14
793
432
459
127
540
134
816
764
809
147
840
661
784
485
911
150
879
635
348
307
684
947
93
860
36
19
641
544
695
85
799
818
931
366
578
662
157
308
631
697
418
896
172
10
137
566
236
882
40
731
477
75
582
638
432
472
522
90
337
614
501
519
123
154
639
78
172
289
169
690
807
29
79
435
216
516
607
284
727
716
144
933
906
476
797
417
962
334
423
272
320
512
398
202
22
167
798
656
864
353
934
218
725
123
375
418
621
872
702
463
429
296
235
349
32
357
883
34
914
224
92
627
856
466
590
86
446
679
237
490
560
362
862
816
858
55
373
36
587
700
807
500
671
707
208
816
158
453
420
856
560
802
917
97
547
755
787
242
730
534
845
940
3
247
677
475
993
767
44
505
739
613
754
269
587
453
532
203
671
267
904
582
62
396
369
609
822
404
402
380
756
199
923
270
586
866
930
589
689
480
933
808
250
534
655
257
902
678
242
960
485
200
883
196
558
38
295
446
691
127
10
616
346
615
791
819
410
756
763
535
997
361
76
682
210
263
969
968
954
640
160
924
717
928
346
178
505
751
462
860
731
516
41
499
925
289
647
432
597
141
920
509
427
423
168
857
252
296
834
561
977
436
384
366
630
34
357
959
269
86
352
932
346
487
731
276
419
649
671
135
844
185
10
606
162
699
988
548
421
890
638
752
626
974
17
298
809
891
948
632
965
905
203
693
254
968
325
415
407
640
384
61
236
498
20
155
522
642
60
189
296
383
844
953
759
198
146
19
605
784
252
908
549
421
307
483
239
846
527
374
529
573
249
629
306
889
77
301
683
792
577
430
365
758
69
675
460
559
78
923
809
299
894
326
159
479
550
566
148
158
196
625
137
222
534
967
343
375
463
840
643
688
568
368
644
465
407
166
323
743
818
544
597
945
628
707
704
98
209
997
136
530
303
920
197
175
416
593
950
431
875
299
434
24
319
42
553
482
1
313
977
640
801
865
707
41
223
868
708
254
995
734
163
876
123
814
445
433
335
339
860
499
939
271
592
65
38
169
31
640
874
783
864
571
876
862
876
838
601
574
397
915
346
2
744
333
694
435
788
255
603
530
988
737
972
998
871
307
779
138
915
185
1
419
269
761
534
312
525
907
227
750
43
331
971
909
945
458
509
505
959
261
261
408
745
33
996
201
207
385
606
241
561
595
633
889
600
61
390
843
696
764
746
938
553
565
646
308
626
672
471
609
418
777
184
810
596
252
998
169
939
238
17
172
712
652
875
577
909
923
918
235
230
748
868
4
312
285
255
914
945
945
95
718
510
436
437
96
869
743
446
86
269
520
607
757
623
756
511
731
680
622
427
970
208
158
508
98
269
793
87
666
98
747
951
957
862
27
883
323
819
95
51
619
982
258
992
951
434
492
77
860
850
734
297
38
632
627
173
858
285
321
377
343
324
234
371
627
42
590
39
676
930
144
777
744
408
766
978
72
790
448
187
376
92
854
457
986
362
752
603
875
716
555
103
425
142
695
396
476
457
770
180
140
481
220
106
840
641
803
974
293
714
286
109
490
338
573
121
220
297
978
651
394
260
431
26
211
859
240
978
217
513
411
701
430
353
663
551
9
7
991
667
380
729
52
590
360
565
702
765
557
814
724
430
274
45
168
989
183
309
746
429
300
11
407
717
165
88
568
419
670
771
466
940
683
230
750
931
485
815
742
358
28
449
764
691
200
970
553
456
617
852
49
119
934
806
799
925
300
200
794
820
386
112
798
39
372
107
157
312
351
480
612
848
927
834
858
471
133
297
475
308
450
624
381
430
356
707
127
706
794
734
222
933
949
336
147
992
928
614
889
368
326
826
620
891
114
879
630
972
29
490
719
890
395
30
73
957
351
633
24
484
548
76
253
521
711
339
677
281
886
495
721
11
804
773
689
831
570
209
699
704
786
307
994
298
302
496
486
952
23
13
69
332
570
11
569
687
171
325
216
756
817
354
153
512
604
924
827
933
192
848
61
869
458
141
222
931
775
460
211
30
816
442
881
828
412
34
133
893
805
774
165
808
572
278
226
819
614
841
854
866
852
153
712
3
712
611
76
277
34
623
509
118
784
584
472
163
839
910
450
219
147
652
663
787
771
706
592
135
684
578
372
429
693
998
538
858
538
400
764
963
32
446
2
654
111
323
844
494
761
482
65
877
128
885
996
671
541
556
831
744
775
452
994
541
684
210
434
547
201
350
65
47
819
896
617
36
885
170
837
553
407
732
322
973
654
66
259
983
505
595
16
87
354
79
813
463
421
252
694
925
455
800
616
562
153
443
779
326
112
913
229
505
752
89
368
521
442
427
265
962
24
57
532
84
37
647
127
286
179
161
633
229
1000
179
448
308
366
308
852
198
993
522
81
51
197
990
409
706
98
52
710
983
682
524
146
710
487
447
414
662
213
727
471
968
186
844
773
899
481
959
832
137
439
304
342
786
488
691
211
394
458
346
579
222
29
38
319
825
560
648
552
782
309
933
462
57
976
174
17
55
573
859
288
891
847
301
692
805
902
320
861
896
164
746
813
578
568
480
776
240
695
332
298
609
588
635
274
208
152
906
110
146
382
462
557
170
116
949
643
560
669
197
766
982
501
689
215
842
996
190
326
52
570
765
8
360
558
501
619
564
772
733
21
989
184
461
184
599
919
978
887
969
647
383
910
144
477
831
614
116
691
840
924
213
985
929
609
240
412
193
132
590
878
137
542
886
895
286
617
914
225
568
895
764
254
497
363
104
160
507
275
478
454
552
995
356
19
301
828
416
583
799
500
211
458
488
326
924
446
848
145
416
68
747
766
109
639
773
28
583
257
452
561
907
495
277
993
873
415
878
662
258
546
524
847
195
647
376
174
515
389
539
95
667
567
53
325
448
114
367
652
310
948
763
844
449
677
410
227
236
236
458
100
811
868
620
357
797
193
209
568
192
766
478
274
444
197
428
472
613
826
923
78
285
973
116
665
633
998
666
923
577
752
169
101
535
509
571
159
642
157
50
461
650
221
8
656
938
311
377
780
183
689
375
752
293
958
236
146
147
339
204
541
510
589
246
816
280
378
529
453
864
877
709
310
47
365
443
330
205
909
372
344
88
556
12
476
665
3
604
652
749
446
993
349
204
126
56
59
521
131
997
893
495
175
85
365
537
391
64
693
864
658
499
880
469
646
787
413
292
515
431
699
443
173
438
230
716
136
384
35
837
221
765
217
101
813
754
201
75
936
370
887
47
163
369
74
779
227
872
344
888
287
870
121
893
971
255
758
557
687
955
310
646
207
93
124
672
200
811
508
453
199
570
496
603
489
267
179
142
533
473
169
501
837
482
473
95
626
585
513
523
283
214
36
182
298
147
406
754
355
963
127
599
300
334
485
545
930
555
865
962
949
889
667
277
986
954
700
292
248
373
646
771
263
355
426
731
159
684
327
846
110
867
333
117
901
788
396
751
29
329
318
776
433
818
495
472
691
61
43
149
512
988
699
137
443
598
475
108
961
985
254
28
571
721
373
84
62
761
788
915
851
318
585
361
197
918
449
716
134
885
203
166
148
95
671
721
14
721
935
392
687
38
535
857
826
108
254
92
364
282
931
744
499
39
179
93
628
619
964
524
46
280
751
351
675
776
336
703
687
832
539
906
674
978
632
497
898
82
775
544
267
330
744
413
891
201
923
549
470
181
871
59
299
588
786
137
397
903
811
426
89
404
475
446
428
767
497
114
962
512
818
195
726
828
995
262
774
359
49
367
247
1
403
147
733
603
854
551
638
760
372
715
407
548
107
770
663
130
206
509
795
674
879
948
56
889
737
747
997
813
548
353
943
177
446
536
239
789
101
633
233
917
522
457
283
545
953
319
612
739
833
5
488
86
858
900
46
317
2
640
35
769
768
834
926
315
48
412
97
746
690
106
266
349
308
422
964
622
903
207
575
649
588
590
403
607
95
630
323
352
744
479
753
733
262
266
128
590
172
158
553
924
457
295
59
807
891
341
692
982
698
448
718
980
189
299
381
771
651
748
967
665
32
271
433
172
890
92
466
52
701
371
657
590
826
293
416
446
358
232
353
80
651
440
133
854
497
855
199
381
854
687
372
609
491
435
38
414
160
846
526
190
694
123
343
43
969
384
103
691
795
970
370
154
620
693
130
581
394
555
281
349
73
748
367
714
997
12
738
801
837
513
484
742
889
471
762
80
218
710
597
363
601
120
852
3
234
816
795
87
914
409
653
788
766
393
572
434
613
108
678
93
783
129
287
747
458
224
867
715
723
188
69
48
56
5
985
11
365
740
791
606
619
527
152
350
755
789
18
143
791
595
999
123
58
646
75
864
14
952
244
138
368
683
627
723
140
35
682
434
850
210
408
611
236
757
884
821
773
602
11
387
806
64
109
697
273
30
864
927
865
253
197
938
927
424
801
623
597
283
474
918
470
508
866
999
530
572
933
958
241
41
243
374
451
25
200
750
182
625
465
755
517
261
78
564
478
675
286
368
257
305
662
286
167
436
864
524
436
209
318
581
310
154
158
726
982
353
26
747
536
753
669
209
431
411
874
44
65
650
931
331
598
223
704
561
523
552
389
485
442
55
199
915
143
367
569
474
308
993
915
339
177
575
668
508
26
452
36
946
607
688
975
263
570
43
867
246
480
647
758
658
216
287
340
180
454
283
515
306
432
910
46
264
390
195
732
783
939
709
566
602
60
667
540
163
655
234
121
853
315
477
928
481
484
755
813
432
295
722
385
64
147
282
965
502
502
17
140
888
520
597
345
564
828
674
369
403
190
553
283
681
865
745
42
491
164
128
957
652
89
20
274
492
975
963
359
678
728
351
353
461
599
380
721
329
424
926
815
96
931
119
413
843
999
335
235
3
745
272
585
89
917
567
601
229
362
169
74
714
271
274
440
231
481
189
340
297
384
937
79
722
874
738
461
547
341
789
683
51
914
895
446
852
54
605
973
61
118
441
386
734
669
727
761
580
204
280
227
993
420
937
702
996
319
481
162
620
246
40
906
568
437
431
927
748
760
269
299
416
113
834
525
215
399
880
884
352
48
549
124
529
842
541
302
995
187
506
178
292
20
395
320
823
294
180
17
373
306
885
153
110
214
377
438
393
718
735
771
912
283
296
67
321
212
671
565
525
591
133
500
219
399
766
36
103
50
694
509
453
272
511
392
347
481
766
817
917
768
984
199
455
180
235
223
56
255
719
481
748
651
173
89
764
266
149
916
652
491
413
465
440
72
730
15
963
612
319
366
747
921
112
438
567
261
756
972
904
26
971
839
49
561
499
771
527
632
359
872
851
504
557
918
342
749
696
281
923
627
170
322
313
378
757
181
34
807
442
240
990
312
273
959
162
907
873
385
119
852
9
420
654
204
263
831
825
6
429
73
73
819
729
225
917
19
315
715
901
612
829
83
104
303
953
689
540
236
23
179
192
104
742
477
276
313
967
308
547
493
356
511
130
942
372
939
383
502
798
353
782
987
417
516
670
496
986
638
979
870
965
451
721
113
714
419
121
796
51
51
752
346
105
816
935
654
397
923
964
609
936
108
420
18
936
602
960
859
417
668
487
975
578
450
526
119
321
378
972
734
720
66
107
969
554
425
946
211
224
751
496
847
539
620
497
65
856
781
562
242
26
633
409
881
433
518
56
107
186
797
423
458
151
621
798
72
117
357
987
405
842
882
796
295
101
333
690
523
153
453
94
38
249
368
799
646
866
487
413
277
388
228
566
927
870
457
868
957
295
823
245
764
514
682
320
706
655
922
988
825
318
813
170
94
350
929
39
872
300
323
634
769
943
388
921
358
399
245
807
57
466
96
517
986
722
693
68
850
881
971
241
693
621
933
618
870
833
80
714
778
828
25
216
634
535
458
627
109
137
291
394
716
929
617
707
636
370
153
730
118
465
896
981
649
625
96
942
856
116
37
734
512
30
765
895
64
498
636
869
804
500
497
789
229
201
370
573
88
235
771
96
367
699
127
472
766
948
374
40
225
450
450
703
723
53
289
679
857
50
938
569
716
309
569
871
131
558
487
722
718
666
739
707
20
343
529
27
674
275
471
172
754
84
650
545
372
933
558
117
149
771
249
319
394
429
474
832
725
830
117
863
344
532
13
759
417
731
83
560
814
619
794
171
973
689
133
375
807
176
647
839
381
334
628
562
549
654
148
14
877
444
538
296
919
427
824
254
407
123
813
404
945
840
797
911
589
24
300
619
75
576
890
322
526
491
855
31
177
845
455
3
45
720
524
666
477
117
454
406
206
317
958
364
897
399
557
27
137
854
451
389
491
294
273
929
562
299
238
433
941
321
393
970
571
412
955
957
319
240
256
293
486
501
404
29
576
379
607
872
896
123
16
101
456
184
80
180
198
605
660
379
804
491
555
260
212
505
687
738
462
257
922
761
731
365
359
333
219
742
25
741
50
367
51
353
524
366
794
285
840
776
884
576
906
748
833
232
930
258
661
663
326
654
6
577
832
449
278
360
900
843
761
333
97
389
975
41
717
51
233
919
826
683
102
254
692
602
381
353
926
497
271
215
679
389
694
832
937
758
42
410
284
195
222
468
512
175
558
735
98
619
953
251
889
927
741
857
298
71
818
536
927
157
973
707
831
593
824
595
548
614
385
303
632
479
105
50
658
61
163
301
582
941
893
227
887
325
510
972
173
315
690
733
721
83
157
524
72
522
156
816
871
762
567
942
55
806
481
287
947
158
232
769
9
958
265
89
775
642
705
519
967
526
176
775
946
67
256
625
368
755
893
478
416
729
307
120
20
236
126
155
248
12
29
461
457
501
706
162
826
568
758
181
654
67
46
460
121
142
109
285
301
646
454
3
841
428
953
582
104
530
105
113
555
534
626
359
811
370
670
878
112
953
42
91
915
857
869
898
938
133
581
98
264
24
489
904
56
16
914
332
3
174
608
69
892
157
143
727
581
660
72
57
218
288
920
767
770
10
472
102
795
443
422
218
902
141
154
687
568
1
334
197
778
634
26
598
476
265
239
986
969
332
190
430
221
435
50
293
454
724
648
825
582
100
383
862
803
874
631
7
82
596
21
631
368
871
291
406
128
856
851
834
186
41
801
425
916
611
932
758
547
413
111
652
717
53
581
53
443
176
896
68
348
327
619
777
344
104
455
43
937
465
178
616
20
212
587
188
284
617
714
940
358
105
710
344
434
713
114
616
375
774
744
280
260
891
42
778
908
823
524
876
165
327
930
953
654
363
771
866
218
320
242
236
550
68
880
425
318
748
920
430
677
122
53
160
205
258
143
335
154
51
541
299
415
803
807
605
729
683
18
135
498
384
361
851
23
707
355
25
90
126
900
921
638
598
311
485
661
33
648
517
571
858
921
198
37
44
247
600
668
852
582
975
14
254
469
234
44
697
125
969
644
412
273
811
704
956
384
696
46
58
327
819
798
120
30
674
792
913
408
603
239
123
694
703
237
385
317
757
624
371
641
119
336
308
199
113
669
26
533
554
817
270
424
477
627
536
22
1000
762
150
414
539
375
641
215
246
946
723
60
653
150
358
280
968
514
449
635
383
120
666
692
38
819
809
333
18
259
890
917
843
509
797
837
465
237
25
529
674
201
440
561
200
266
474
42
473
311
448
455
208
125
957
981
502
882
371
523
79
813
560
942
728
493
860
443
691
538
183
687
978
565
909
943
158
1
853
521
153
674
187
814
965
180
658
481
77
671
819
719
462
73
287
105
752
724
234
178
153
103
400
805
92
580
944
387
449
147
341
102
427
656
364
758
807
397
907
253
327
785
34
324
444
499
180
34
553
681
867
406
37
692
652
708
182
486
274
188
93
895
130
426
204
951
284
92
916
950
165
609
146
102
27
98
336
479
986
59
522
468
184
401
646
66
188
824
165
203
278
54
396
708
649
93
727
677
906
495
999
765
423
633
919
383
290
87
295
837
598
542
274
227
750
85
527
303
352
334
491
545
965
659
381
457
696
624
659
416
134
878
37
464
647
950
921
118
408
793
382
583
819
465
359
801
196
17
841
366
659
562
171
700
208
445
473
795
831
669
428
496
364
8
276
557
484
746
969
625
912
610
870
923
376
257
230
640
379
635
986
922
121
627
58
953
221
673
434
791
14
461
817
533
275
364
482
883
205
43
330
396
384
492
806
509
181
883
458
967
812
738
466
407
822
331
369
656
297
725
549
810
488
526
802
212
874
255
431
304
910
214
870
701
818
886
820
948
844
174
199
189
321
235
18
343
741
310
469
456
781
655
57
638
920
645
648
323
793
183
661
647
979
755
459
431
223
906
185
554
436
408
908
555
976
127
980
910
830
429
899
766
310
992
841
870
788
56
243
51
826
459
467
896
768
309
625
202
481
758
123
357
501
148
309
68
248
749
916
757
340
425
649
488
288
793
356
532
19
914
696
510
731
64
148
634
562
932
456
699
452
423
371
352
322
320
604
648
439
259
484
74
391
802
694
992
620
941
819
965
877
1
173
529
266
768
504
737
776
617
756
278
332
576
985
7
427
551
945
543
341
378
564
910
801
983
764
330
694
699
641
954
100
682
988
687
491
490
586
316
402
60
442
810
258
768
402
20
359
746
147
987
164
376
623
733
164
697
381
720
612
512
113
109
286
114
948
603
306
913
687
906
712
686
206
786
168
851
749
320
685
927
652
114
698
316
345
258
169
629
130
263
670
58
338
493
535
703
939
468
247
351
595
913
208
916
411
663
900
655
402
323
258
312
751
119
735
542
497
506
178
317
193
917
92
551
418
503
332
812
769
832
529
861
87
305
819
689
249
458
557
915
798
439
730
650
43
668
739
413
51
126
52
293
121
726
10
291
889
999
690
722
258
643
343
605
676
554
357
229
142
606
108
447
492
824
319
803
154
561
761
301
562
960
227
481
868
286
695
467
402
684
531
834
580
529
395
470
611
826
212
73
395
48
247
576
467
387
815
578
703
640
613
822
782
861
35
845
69
475
38
208
663
737
330
133
853
337
705
928
119
427
303
334
101
590
497
810
695
45
846
814
518
952
283
332
540
761
284
278
564
421
284
885
611
688
999
894
981
918
647
152
908
496
281
224
294
492
568
771
944
224
393
711
101
161
605
662
859
989
80
755
180
733
12
663
859
551
25
638
742
165
246
377
909
943
978
827
351
325
966
369
840
620
548
414
342
209
179
108
327
835
903
723
758
966
366
304
375
201
860
342
131
294
719
521
275
643
104
116
646
63
843
228
177
198
530
847
489
225
539
672
724
372
934
748
430
351
535
215
416
10
555
898
952
387
272
41
630
882
203
224
455
437
109
365
473
452
947
794
361
686
573
548
891
520
627
413
153
768
489
754
714
719
652
817
656
173
140
55
563
46
846
969
105
530
789
117
783
906
307
237
814
834
189
865
852
365
536
460
479
965
956
779
913
573
319
192
433
67
887
700
376
561
90
617
382
625
622
314
758
870
784
930
457
328
239
675
188
725
393
187
590
38
655
450
248
701
736
904
553
454
942
751
82
92
170
909
184
309
927
709
953
448
227
242
620
163
683
189
656
970
426
94
573
148
779
284
482
742
738
76
957
228
401
481
652
980
454
327
419
816
703
656
388
786
426
233
566
827
9
273
63
86
941
777
949
502
724
451
95
728
698
790
99
574
65
779
510
936
641
619
165
627
989
32
356
584
622
991
958
713
906
180
389
995
143
76
451
569
70
331
712
215
666
34
32
7
737
512
284
984
213
565
69
320
466
419
485
848
271
212
579
781
177
544
156
120
216
467
54
561
817
313
789
658
757
921
755
659
764
140
798
653
132
999
3
669
320
527
47
892
57
35
290
466
912
617
55
206
641
711
252
149
861
849
551
47
789
138
800
812
833
582
323
419
797
83
963
990
343
871
515
599
154
124
253
845
907
761
811
384
779
748
586
444
729
750
173
783
171
659
74
688
14
324
73
396
234
821
230
741
290
702
376
921
740
3
394
43
328
184
313
490
689
842
423
217
558
747
219
807
39
701
949
480
54
793
953
284
555
835
765
374
488
179
187
635
756
635
118
895
637
929
979
630
209
977
982
370
328
284
318
983
646
935
605
645
920
963
552
554
655
383
867
426
692
795
888
348
924
260
274
859
757
118
385
3
277
503
619
666
345
576
110
727
996
938
618
432
593
222
396
895
162
631
76
876
190
60
360
755
7
473
377
177
491
436
128
962
511
30
346
696
968
907
420
886
737
908
802
675
116
487
440
904
635
170
326
736
159
421
235
137
319
562
64
282
190
873
959
334
28
576
618
109
595
183
700
867
293
618
301
826
882
569
818
31
21
792
345
906
274
443
955
123
493
86
819
466
676
713
146
990
524
960
353
81
890
734
709
20
258
623
929
241
181
785
840
771
346
507
314
270
561
235
80
690
490
713
933
785
407
772
100
656
597
449
219
39
270
365
452
266
28
721
758
719
994
823
237
101
674
811
768
44
508
124
853
423
864
299
723
224
898
889
248
988
324
653
155
636
630
660
358
974
690
660
963
283
36
857
661
182
300
214
747
375
416
586
3
11
272
221
994
106
388
664
152
884
84
670
155
977
332
529
723
97
162
97
914
221
51
910
428
292
205
2
203
189
10
419
809
13
238
966
761
754
761
447
883
53
633
483
290
86
427
15
385
549
580
801
509
369
356
470
520
25
755
266
649
293
294
173
406
854
169
955
208
401
714
580
644
832
433
604
994
636
147
345
669
831
933
118
773
649
633
353
828
729
649
164
68
719
655
824
351
84
611
632
910
355
176
881
641
255
223
970
585
921
627
226
563
918
955
674
695
855
974
817
652
201
123
448
62
326
225
703
424
884
766
797
292
405
978
390
203
368
846
90
49
76
892
404
156
383
258
338
319
687
178
928
446
630
396
231
254
647
481
669
694
816
256
186
353
484
770
352
157
798
324
437
63
556
88
463
322
782
725
422
87
39
288
171
815
785
373
8
949
989
105
543
825
833
132
306
625
582
190
459
450
571
184
96
281
856
962
875
657
277
141
147
426
537
394
320
765
464
597
931
27
778
92
777
638
531
138
518
391
905
285
342
20
175
30
662
852
486
592
305
661
524
87
347
592
320
668
544
195
179
442
320
106
163
101
383
921
654
225
368
151
286
180
304
916
886
373
378
209
194
374
160
170
796
76
429
759
82
663
780
650
106
573
442
936
860
69
114
483
852
313
173
341
849
993
316
675
324
704
539
88
441
245
392
47
367
938
577
363
352
858
340
313
269
636
531
61
256
59
886
471
681
302
853
291
916
9
249
940
282
816
132
812
123
174
550
113
142
459
216
687
37
448
779
256
992
218
51
717
750
374
455
926
862
339
12
451
171
95
370
334
785
384
733
820
545
886
80
329
532
271
714
708
201
390
11
933
581
39
226
987
358
908
346
591
781
325
274
845
71
371
79
581
409
790
653
441
646
847
881
238
590
989
346
183
108
697
668
931
277
408
804
203
560
756
30
975
252
681
865
800
506
131
897
880
853
194
333
923
469
493
101
639
388
593
496
994
501
982
718
965
439
920
80
603
397
69
347
657
513
362
442
899
709
5
704
524
751
862
991
717
891
716
192
533
648
76
119
735
146
252
329
126
993
406
167
228
820
159
187
852
487
116
185
208
421
386
233
774
741
743
514
997
590
590
214
300
617
322
448
555
611
950
982
375
119
137
514
83
292
858
416
212
283
999
121
732
300
94
806
981
783
289
607
445
273
356
380
133
206
249
952
248
306
253
837
296
200
268
681
534
632
124
48
897
955
139
711
140
579
296
323
958
728
535
186
277
146
652
867
730
362
196
544
596
769
612
344
87
6
544
353
963
116
895
680
873
501
744
685
723
983
675
502
603
131
424
28
518
642
994
857
220
702
560
38
955
201
548
111
812
146
248
618
674
825
200
161
479
126
371
119
614
886
852
368
768
323
379
659
537
391
511
849
353
389
683
858
102
253
694
17
894
752
400
482
43
245
511
523
236
738
434
774
253
725
48
995
384
724
129
506
819
446
920
205
933
268
991
998
320
60
93
575
864
425
209
640
924
114
350
158
901
709
967
677
104
656
10
490
833
415
786
291
999
755
764
950
502
241
381
226
742
531
737
547
360
428
771
499
300
521
149
243
783
878
639
953
619
474
176
235
567
952
171
673
134
886
889
832
274
896
859
543
943
881
364
811
368
127
22
448
186
255
352
416
301
807
16
907
453
763
96
380
985
433
385
149
238
997
178
613
323
392
429
894
777
422
503
468
728
685
937
376
786
403
776
706
790
282
72
363
932
316
97
574
550
821
638
195
54
67
530
631
14
586
226
123
470
593
762
216
871
1
980
447
893
199
212
706
566
74
954
238
769
794
209
962
166
502
322
665
87
361
96
594
689
410
911
183
964
250
381
955
826
908
803
114
543
125
287
3
231
937
992
382
28
635
326
419
794
111
338
432
881
161
753
634
600
507
301
591
499
205
17
659
460
608
198
396
918
253
566
853
234
869
964
659
342
214
632
43
332
596
670
290
546
735
844
613
96
105
264
140
464
3
794
484
977
372
298
395
502
853
911
108
683
614
610
279
375
261
264
892
728
533
210
92
537
561
153
669
57
152
849
854
482
968
595
136
665
476
24
68
479
233
87
393
400
417
390
382
542
514
236
974
360
698
834
152
684
804
138
19
578
691
681
196
750
484
605
485
896
399
787
246
392
841
618
532
235
29
501
871
974
635
604
485
654
881
728
886
468
35
415
14
902
495
594
529
635
531
106
428
369
259
440
905
44
618
892
227
623
960
136
494
731
369
887
301
956
956
960
712
551
209
487
437
608
941
522
820
509
473
522
4
607
513
475
687
649
588
523
981
395
990
1
178
272
959
735
716
656
194
307
189
551
886
726
58
42
145
631
603
843
92
710
756
709
892
474
672
240
713
949
278
834
917
74
612
166
801
850
428
557
836
334
420
78
703
604
431
6
340
715
181
550
878
506
351
342
599
812
394
317
990
296
9
992
565
621
81
63
358
151
785
503
906
712
691
1
103
175
952
688
505
826
87
568
561
519
438
989
747
603
117
757
798
481
148
240
38
454
545
905
323
198
267
243
281
798
371
988
304
807
156
848
247
167
796
711
897
176
764
449
55
903
350
959
501
567
680
86
227
449
976
396
29
855
231
560
8
459
56
276
525
163
270
253
928
226
673
752
710
12
542
581
789
159
624
256
291
372
775
230
561
306
942
716
108
216
897
638
869
148
963
701
456
431
16
365
47
166
193
767
170
217
60
301
954
910
506
560
291
328
218
874
17
561
435
484
405
768
588
688
201
228
578
982
989
808
662
267
869
464
388
726
335
430
548
832
735
736
873
272
899
579
85
283
369
849
957
979
136
812
221
818
963
546
549
240
182
229
321
856
307
793
565
332
936
783
293
197
193
460
433
434
393
346
669
594
699
418
855
604
304
132
42
156
52
262
836
783
491
350
509
275
47
165
254
114
409
192
1
971
205
597
492
126
774
529
655
873
146
893
899
598
354
915
621
221
873
922
99
134
240
780
941
594
935
319
425
767
188
907
412
274
657
53
980
131
869
565
552
431
915
285
120
9
91
918
85
545
154
781
352
306
343
561
586
749
600
355
940
742
237
297
166
19
884
78
716
825
676
533
363
377
531
253
890
903
834
889
614
547
12
383
852
332
282
899
965
726
336
623
264
88
835
904
915
409
368
465
933
343
963
513
518
429
342
624
256
833
832
234
173
652
275
381
248
44
326
147
709
993
236
862
422
541
616
729
687
687
674
999
43
972
120
189
47
978
278
147
522
555
924
936
509
667
47
617
974
101
8
37
355
187
565
588
207
870
852
781
503
128
647
158
665
812
254
709
8
390
849
512
85
994
449
726
383
400
524
444
897
266
847
157
400
48
397
727
638
458
989
867
241
289
853
63
889
672
540
788
162
573
409
607
514
458
409
500
64
532
63
303
212
937
323
690
603
602
487
512
668
154
437
639
745
509
268
681
800
230
817
69
904
783
652
38
884
106
879
990
67
741
498
546
586
923
98
388
537
597
409
609
143
356
600
886
195
647
228
269
246
435
441
722
434
683
373
884
364
660
667
679
141
74
711
513
555
471
493
808
388
190
931
514
8
355
170
81
722
91
613
82
861
155
377
311
190
653
470
716
42
378
227
975
510
566
445
858
168
550
209
792
12
877
644
188
767
925
655
170
265
995
296
315
335
87
555
889
519
351
199
854
12
261
820
626
361
116
372
121
885
374
302
197
231
678
846
942
189
165
169
621
694
782
830
311
933
908
464
363
608
522
682
886
710
527
925
390
585
607
414
557
720
180
406
880
389
577
669
577
269
587
470
713
167
887
395
5
267
675
1
97
657
56
657
425
490
320
899
957
764
279
307
207
637
261
207
927
152
199
460
773
433
461
244
85
750
759
988
627
315
484
572
769
311
300
485
126
464
681
888
112
411
348
419
229
197
242
166
134
559
751
410
724
997
402
639
526
278
103
865
653
695
369
438
477
329
615
408
943
582
760
990
159
461
883
817
467
453
604
494
739
325
203
433
27
875
212
54
21
468
380
235
3
180
458
314
94
520
188
47
650
962
285
667
588
8
925
588
279
93
472
375
405
395
723
301
819
540
972
177
45
287
555
201
494
474
374
220
880
913
91
165
597
478
275
401
993
294
859
399
614
840
632
438
449
739
363
16
167
225
383
265
105
566
89
953
535
228
891
578
332
186
587
665
724
591
8
611
244
952
38
323
333
92
818
483
326
411
990
447
702
387
354
687
537
859
193
210
85
314
834
558
293
342
697
849
827
432
236
809
904
490
653
899
788
824
238
453
357
846
477
204
510
415
844
704
546
564
320
913
846
342
235
682
309
637
2
921
65
134
650
17
894
34
856
456
646
727
349
660
715
415
131
774
267
584
957
510
505
284
913
168
717
436
736
670
236
756
707
743
730
417
597
422
422
317
131
674
964
608
889
255
652
225
381
896
629
265
275
516
493
439
405
436
493
249
241
535
95
240
949
838
251
420
47
291
141
916
920
405
511
35
155
953
984
169
713
192
869
386
455
885
94
135
461
976
815
234
820
940
177
163
357
648
464
784
803
132
575
743
488
741
351
229
529
11
819
233
850
49
764
133
70
320
439
277
480
541
372
168
863
787
403
58
861
36
123
983
976
103
784
784
52
329
660
215
259
443
541
42
195
745
732
917
693
102
500
929
339
316
348
922
483
75
930
94
753
43
659
912
693
675
289
88
150
940
807
212
486
502
41
665
507
833
223
573
247
369
633
934
392
112
127
477
168
990
3
503
995
891
198
716
67
541
230
7
263
285
675
283
522
399
199
666
840
769
353
826
589
660
374
775
715
808
236
199
685
260
67
257
779
238
819
873
410
781
798
684
687
86
238
227
378
277
612
407
726
791
793
992
354
698
479
691
605
44
554
358
237
751
121
994
338
686
69
528
701
269
893
793
655
387
389
728
545
435
582
597
613
51
907
942
44
424
226
39
325
163
753
899
858
315
323
195
2
531
727
79
302
338
50
529
711
127
10
747
20
805
341
96
543
992
141
305
371
288
948
910
103
405
8
462
76
890
850
612
512
772
815
3
922
686
604
846
330
956
299
169
583
670
533
966
94
982
659
930
846
780
837
993
380
345
936
652
809
849
1000
943
577
364
858
945
835
542
111
946
790
301
349
700
329
640
952
773
559
190
228
592
620
220
981
688
303
591
808
561
521
597
554
759
683
722
404
51
343
76
16
19
295
684
968
11
444
876
516
138
382
717
363
950
578
792
662
475
475
722
991
537
626
420
377
682
154
480
779
545
495
57
573
234
348
289
756
132
233
567
502
539
846
976
707
755
673
829
897
519
953
482
648
205
141
586
277
810
463
489
103
568
49
769
13
975
370
782
430
101
400
644
25
365
1
324
674
309
523
355
234
544
493
225
695
739
589
690
112
397
788
78
556
262
694
169
962
330
576
375
402
857
574
766
775
214
855
939
334
171
251
863
797
943
47
600
995
378
151
254
146
774
823
557
883
94
507
297
112
837
92
145
600
385
90
534
991
448
805
951
551
120
572
357
575
140
510
503
810
204
71
577
652
533
838
972
164
451
677
943
138
463
334
600
546
114
15
967
698
993
322
820
372
354
138
637
973
208
722
262
503
156
310
834
777
947
990
107
822
464
468
549
871
852
623
499
679
562
429
230
185
389
887
971
664
959
128
832
599
732
706
82
484
301
447
420
637
651
879
743
890
94
431
380
710
808
62
919
932
229
949
602
741
98
173
667
1
606
85
192
313
923
173
738
414
360
833
554
685
568
362
163
517
467
877
926
297
40
655
567
557
745
511
703
629
47
483
146
803
518
12
116
518
982
265
516
656
470
998
125
307
84
607
901
739
453
587
572
434
147
681
356
200
264
400
965
326
439
432
995
720
674
712
448
707
716
553
407
969
215
297
791
687
478
408
754
485
503
779
500
251
857
317
217
224
111
521
361
998
797
880
781
277
265
374
4
252
400
285
548
467
885
821
329
908
594
743
33
843
729
327
859
626
519
505
165
290
676
935
370
234
270
123
936
754
408
420
364
453
891
882
915
810
6
545
230
310
774
580
69
571
238
223
169
853
843
81
621
175
562
633
208
28
183
321
880
329
98
592
905
830
995
686
265
662
105
733
553
98
28
942
968
864
716
295
986
563
884
142
977
852
976
567
300
9
842
185
404
463
419
294
90
665
80
955
328
387
732
591
19
196
466
213
614
358
261
170
812
890
287
669
414
814
380
924
1
922
579
911
301
538
2
184
1000
800
938
111
252
1
734
174
361
355
972
698
928
402
462
495
257
892
772
402
968
647
382
661
572
363
61
367
244
745
731
12
126
677
903
241
291
368
767
532
923
509
133
435
367
566
739
397
449
220
877
958
848
861
882
276
402
757
838
524
915
222
703
712
399
635
214
838
752
658
76
121
509
381
412
251
685
403
920
204
694
36
943
206
4
957
473
841
486
589
145
144
389
443
437
746
480
451
626
800
183
39
510
449
483
341
579
74
935
465
77
408
392
183
359
888
945
760
79
281
141
888
955
710
760
852
329
688
294
137
279
679
819
634
792
986
112
510
386
491
720
561
606
878
191
601
44
489
805
990
854
899
987
959
280
617
21
755
361
74
818
981
810
178
273
716
45
314
171
118
492
561
708
276
567
334
405
1000
193
364
661
86
327
154
166
359
722
600
198
452
61
482
117
845
718
896
477
162
555
529
790
111
642
868
375
728
257
53
671
778
262
106
99
286
801
694
818
135
275
423
723
633
709
883
627
703
976
324
876
149
798
898
550
7
95
839
19
582
52
844
860
187
208
169
34
946
991
630
803
303
379
812
71
7
795
226
697
441
899
98
872
109
706
759
833
1000
295
295
11
317
484
257
242
756
982
740
775
123
927
67
676
576
220
640
636
196
727
278
368
897
256
488
513
926
190
677
422
321
805
268
300
732
578
51
892
956
261
863
346
391
93
879
909
352
279
359
859
870
791
720
416
157
632
152
435
387
911
844
349
841
480
55
167
712
431
911
355
122
445
809
47
925
831
741
369
940
139
690
615
134
356
483
632
96
48
130
60
884
298
737
992
927
893
532
233
244
51
414
555
622
889
697
277
820
976
405
34
44
535
552
834
168
335
342
364
178
821
90
32
359
819
16
427
553
13
709
711
672
431
242
958
273
401
370
600
667
759
230
973
494
653
252
387
112
891
754
297
493
678
828
912
510
505
681
22
652
132
544
913
217
893
650
980
12
970
512
61
384
952
957
569
227
684
912
216
207
396
950
496
54
124
12
121
239
715
475
289
721
43
1000
2
737
661
182
653
815
767
25
755
282
260
744
989
519
627
161
707
179
636
279
685
342
51
182
133
352
161
535
984
685
462
354
1000
736
700
635
530
867
376
649
644
397
967
435
910
466
339
68
331
880
275
792
788
99
608
995
914
509
177
298
451
996
711
760
41
634
797
278
852
977
285
832
622
63
836
96
495
715
835
321
512
174
557
89
715
372
310
721
617
424
239
654
222
992
640
54
876
273
895
314
956
253
629
854
837
738
251
791
611
449
844
671
767
73
269
407
396
806
405
996
525
315
736
347
871
504
806
817
630
685
675
600
936
13
174
203
254
78
609
610
307
611
609
606
79
130
944
962
66
187
490
810
241
607
990
631
104
712
898
683
803
101
389
607
554
963
560
187
475
261
975
944
538
393
937
296
530
70
324
538
806
243
369
762
133
879
526
171
114
252
418
900
529
214
943
642
405
607
789
818
806
567
967
22
134
965
502
769
180
683
63
329
325
676
176
554
23
65
596
197
178
571
601
138
78
694
231
311
322
925
963
924
574
197
910
678
29
454
397
351
199
959
691
32
997
468
732
736
134
904
946
912
505
536
599
547
611
948
717
235
41
284
277
528
693
354
227
391
732
178
937
348
241
477
814
182
149
416
161
707
278
642
835
135
333
287
901
73
187
136
270
13
113
611
253
466
484
564
83
554
49
127
708
980
83
42
582
750
593
931
758
960
300
979
311
216
282
345
16
10
17
430
243
445
61
811
234
261
740
252
287
6
62
694
871
568
496
571
387
978
418
81
98
577
772
274
727
180
948
970
394
813
966
528
808
991
795
438
120
244
47
570
429
812
346
656
711
970
380
236
829
473
21
882
403
982
933
988
514
136
756
767
609
160
314
419
543
489
272
608
359
928
346
468
285
287
448
408
444
257
142
844
918
547
395
847
158
932
883
392
199
928
56
538
779
255
754
393
258
121
406
176
186
627
755
23
452
280
607
440
262
660
328
482
536
807
666
775
970
767
23
513
678
39
469
396
246
396
652
303
83
631
231
149
111
331
633
10
254
696
729
74
641
742
499
401
144
997
878
799
688
906
752
333
734
743
493
116
507
776
549
81
799
786
310
358
662
827
902
733
880
280
613
439
888
844
365
153
740
89
30
677
764
596
404
242
812
511
344
741
381
550
918
498
420
96
398
374
369
68
609
95
780
641
420
710
945
761
162
981
64
622
360
336
866
906
443
738
34
661
60
444
445
138
166
179
31
779
352
681
6
803
745
924
317
533
400
581
441
680
285
455
61
295
883
671
747
978
908
376
472
264
847
627
706
791
893
861
864
975
293
91
82
440
317
550
655
382
864
3
993
367
162
362
587
807
180
579
356
520
99
967
670
297
677
285
529
397
393
912
636
213
16
416
575
173
658
632
909
66
409
164
758
595
392
841
366
945
427
265
200
554
525
33
412
45
139
605
814
538
410
90
130
126
653
384
928
355
999
226
536
941
390
718
236
835
118
770
198
932
687
776
965
417
94
500
743
754
538
829
421
806
145
555
29
421
582
811
284
115
285
120
988
120
647
268
317
188
660
407
418
9
443
799
373
3
556
656
241
538
238
356
849
357
508
135
998
88
589
19
974
237
245
398
600
2
472
101
589
569
395
278
606
284
388
707
301
262
195
345
537
525
268
102
162
723
625
835
17
870
279
502
261
275
704
277
740
51
841
161
887
143
886
310
539
815
456
848
144
948
772
419
83
270
167
101
165
874
590
602
966
979
738
850
325
931
155
173
201
823
880
289
94
7
261
222
405
957
111
93
429
615
715
442
177
401
83
368
833
520
474
338
455
61
444
914
505
673
575
31
851
243
595
699
194
130
845
163
258
952
885
630
677
864
567
634
230
524
119
2
984
679
576
161
909
411
427
226
786
610
492
898
525
138
840
712
572
529
40
599
728
764
158
2
522
841
671
74
287
378
939
540
209
481
931
918
901
440
679
670
540
611
302
749
171
10
545
738
569
712
453
449
977
179
202
411
72
983
118
153
799
237
607
571
47
232
64
950
734
389
820
397
516
681
839
562
247
67
188
504
280
359
275
478
906
138
461
253
525
15
937
269
641
563
694
584
414
718
992
100
274
299
4
997
75
577
188
646
365
501
518
539
609
255
914
926
618
332
89
916
30
199
538
782
386
911
621
79
277
771
483
981
36
221
82
917
685
689
756
209
189
18
529
905
568
477
875
405
121
42
737
823
806
829
404
208
824
80
262
923
582
71
558
487
510
687
15
132
655
152
589
192
575
613
685
174
830
828
886
30
287
228
591
728
502
978
33
678
729
518
789
957
430
215
249
551
753
423
531
58
129
227
935
338
972
598
392
668
534
522
280
809
62
873
651
255
815
497
133
631
886
974
771
849
505
16
601
167
216
315
41
728
321
916
70
519
68
887
720
932
328
115
628
283
924
570
275
699
350
260
61
765
357
405
527
204
752
73
925
642
828
626
795
207
7
840
358
311
679
516
383
469
681
697
612
409
587
369
963
63
738
662
517
241
1
123
717
921
299
572
311
119
329
460
298
262
264
355
568
822
900
425
954
724
429
318
162
701
963
858
388
356
999
367
484
131
248
203
199
797
639
351
373
331
856
481
969
280
458
931
449
762
501
489
347
309
577
679
831
617
370
516
690
136
155
304
428
117
117
137
121
382
52
206
260
619
771
875
50
438
485
768
539
773
569
789
533
492
351
63
429
197
988
292
7
305
97
912
728
441
488
732
272
90
287
454
911
195
748
567
771
122
257
670
237
1000
405
150
520
922
501
522
897
950
567
454
263
150
696
641
381
110
620
271
684
554
485
739
555
648
105
690
758
596
446
169
120
920
671
910
572
614
855
310
442
992
387
676
202
640
169
699
936
341
925
907
475
229
356
96
471
717
385
296
698
919
469
896
508
415
782
955
687
180
113
566
917
432
465
382
678
968
695
43
689
260
986
326
949
253
607
255
991
294
193
325
244
117
730
200
284
98
556
993
316
309
906
253
447
14
11
331
187
347
275
635
126
861
827
642
949
550
619
206
755
694
273
819
182
600
109
26
960
887
105
85
338
500
97
340
311
1
141
465
657
51
850
931
616
195
436
558
449
190
371
4
214
163
849
391
840
830
698
31
995
833
986
424
289
45
328
234
74
312
829
995
480
711
664
634
349
827
535
762
409
990
621
833
389
643
199
934
747
244
794
961
362
192
589
358
825
254
827
471
962
915
119
742
803
860
877
688
534
537
597
585
868
379
330
310
872
783
498
597
549
418
139
269
366
751
789
677
457
945
456
642
496
458
582
731
58
723
432
524
840
265
122
903
298
494
338
51
82
203
891
990
166
489
405
992
710
405
840
131
516
168
18
588
372
160
24
29
754
266
167
561
85
316
153
290
198
545
294
476
773
8
832
659
202
823
936
866
815
979
518
219
381
191
800
824
586
952
445
836
511
486
179
951
181
805
48
422
945
416
829
869
782
547
668
795
613
935
736
706
383
308
520
208
952
732
385
231
822
856
242
827
345
956
440
574
328
365
504
729
893
526
986
691
41
430
466
204
610
655
712
22
220
557
106
417
373
436
695
988
73
632
676
742
204
620
661
288
452
90
819
302
718
932
894
135
829
786
102
520
825
550
158
893
297
799
996
744
6
609
297
756
527
660
572
229
756
835
405
425
902
738
423
41
24
685
698
939
275
780
592
675
722
594
495
91
75
841
518
444
654
202
957
113
696
79
280
929
426
669
453
539
388
180
639
60
183
440
731
442
115
374
672
610
256
81
267
451
65
295
1000
156
36
37
435
239
792
176
884
824
676
438
414
402
179
105
710
345
440
310
947
899
699
337
638
242
785
801
369
492
650
908
417
184
509
292
545
851
361
22
658
823
551
507
598
249
540
962
68
651
259
972
591
34
240
514
421
683
231
454
547
293
151
137
285
24
43
235
448
386
164
360
776
606
455
331
119
280
425
167
851
657
920
24
132
856
324
333
925
702
492
321
131
610
143
968
810
142
443
197
212
437
302
744
268
711
194
747
269
404
423
550
679
373
374
594
436
714
663
570
609
444
104
184
25
254
25
1
279
2
825
814
607
436
597
925
229
878
259
522
126
236
948
58
671
788
332
193
191
607
102
360
320
391
149
492
948
705
836
764
710
345
338
498
163
592
228
491
279
640
364
143
422
345
680
700
715
778
622
820
591
748
868
464
374
585
417
781
923
995
322
299
745
718
138
178
465
71
601
750
265
160
231
864
655
749
261
752
992
255
785
326
255
366
82
775
893
86
820
347
15
818
256
981
793
253
610
274
712
433
488
875
228
328
626
998
454
666
234
206
743
574
922
11
407
773
510
89
385
695
50
157
321
912
999
592
431
689
845
933
511
317
401
284
602
94
645
462
194
507
237
470
290
184
792
487
305
670
568
109
577
914
492
25
208
675
326
651
48
661
362
510
936
375
224
283
677
67
251
570
858
126
446
316
309
534
166
783
912
704
579
714
500
166
384
27
805
40
487
987
736
219
80
295
826
456
93
952
308
350
60
79
155
317
264
85
350
221
420
700
829
285
273
469
820
257
228
173
741
597
526
563
442
611
545
500
335
41
525
281
869
633
376
481
880
556
269
131
602
400
386
418
467
637
550
389
421
95
453
323
132
962
850
552
357
309
399
489
739
928
799
562
463
533
478
546
532
7
400
528
922
431
449
354
478
115
476
949
241
657
322
357
824
404
44
664
567
290
110
258
484
165
586
22
381
188
159
119
174
760
407
15
99
790
900
265
427
758
544
351
352
198
100
595
879
712
940
717
948
563
939
166
487
239
827
714
809
91
504
161
554
335
534
198
379
213
529
608
723
104
178
33
291
725
457
464
318
321
936
468
306
946
167
919
691
502
865
651
786
188
935
45
461
425
470
1000
231
106
477
146
793
248
484
433
651
708
137
418
105
682
558
683
780
95
570
799
865
866
822
200
411
216
494
101
346
894
536
362
371
197
334
802
509
148
260
1
904
47
861
109
392
884
282
464
481
785
140
148
655
730
235
712
304
292
375
404
182
25
130
193
32
437
487
767
868
190
248
465
493
287
496
801
3
530
601
825
392
434
59
96
888
167
928
416
310
756
719
826
581
18
419
568
484
158
720
858
914
994
639
339
157
87
462
43
177
850
341
517
512
884
924
546
121
359
146
554
462
263
639
324
157
732
279
181
803
469
60
121
918
475
827
688
520
931
392
588
557
85
228
102
252
430
219
403
444
281
937
767
183
119
516
487
139
689
491
45
893
918
880
689
802
152
419
140
922
97
47
559
426
98
707
280
77
94
39
57
533
637
776
737
748
878
531
328
238
316
181
439
758
388
244
892
821
709
483
152
501
873
472
871
201
254
9
462
407
160
67
113
950
41
452
70
993
178
450
330
760
445
513
113
21
255
504
607
484
800
56
515
527
20
414
897
167
537
468
596
760
947
791
372
696
456
191
438
269
834
661
738
969
56
633
735
692
788
154
868
732
116
901
127
987
493
976
389
472
927
87
246
147
838
983
67
12
875
42
963
653
179
462
103
704
280
857
590
193
805
927
723
368
687
507
996
412
401
533
649
361
15
358
908
717
562
422
338
429
257
500
859
405
653
595
79
241
642
119
535
626
575
140
339
731
448
350
510
966
225
892
943
668
884
328
597
655
716
865
967
75
714
393
313
676
646
33
463
407
559
659
194
294
972
295
361
622
44
391
944
778
286
700
171
556
222
916
662
325
551
272
360
222
939
8
631
466
588
17
491
945
86
967
413
472
878
931
512
484
892
837
228
523
458
110
791
504
701
483
867
667
993
282
778
87
899
472
619
833
290
338
382
132
916
976
955
425
835
715
458
824
488
141
954
254
136
691
982
548
597
644
713
841
927
932
815
889
763
380
222
350
532
879
131
635
625
504
454
684
950
799
908
897
971
262
646
491
449
584
66
768
658
341
18
125
721
634
134
147
88
677
417
813
909
397
553
633
167
945
615
559
50
412
974
624
927
164
263
546
729
922
175
31
234
157
736
58
8
400
448
232
258
789
342
199
919
563
578
176
627
213
661
917
79
714
776
775
454
577
973
112
223
483
173
976
642
886
36
836
711
309
748
169
160
997
692
873
302
241
795
805
212
935
38
197
759
888
297
394
469
995
154
94
64
605
821
258
791
347
626
961
324
239
787
689
128
76
350
50
636
33
244
408
501
890
362
682
488
497
495
475
264
940
668
691
483
347
200
32
55
455
329
129
439
835
812
531
121
166
280
499
171
60
461
343
942
707
619
23
497
76
650
891
324
455
364
730
275
900
377
697
392
534
908
384
525
734
545
994
160
909
660
501
927
996
775
796
599
800
616
2
249
982
981
566
379
872
848
251
516
247
324
880
721
890
141
507
955
40
412
738
13
821
274
60
27
361
846
399
147
568
683
562
96
495
495
907
718
805
491
336
528
76
90
682
537
623
144
666
285
45
27
835
128
932
146
358
297
52
464
92
123
831
618
70
182
165
95
480
744
414
692
194
97
940
217
163
791
699
952
308
783
205
925
73
819
656
431
465
98
129
588
236
420
528
896
839
594
410
941
931
789
903
395
494
935
667
407
78
5
263
336
306
207
364
537
506
700
929
551
296
422
855
648
984
35
654
108
902
767
366
48
172
171
282
847
950
399
23
448
876
650
209
887
356
833
225
430
257
368
582
582
820
232
977
79
887
65
456
671
28
138
986
151
801
502
364
613
149
455
623
376
930
762
998
335
620
734
76
782
567
342
975
892
515
53
267
123
761
956
875
773
997
46
385
805
779
251
25
837
640
895
92
898
29
822
724
125
624
307
761
116
101
242
878
31
80
810
306
869
806
1
238
575
115
892
443
746
360
550
708
757
262
802
474
57
120
869
430
245
399
52
908
281
497
228
596
865
393
922
517
547
963
82
197
659
991
533
652
495
267
258
178
467
730
268
896
157
294
879
680
298
883
600
397
685
169
683
352
967
714
643
459
72
532
671
929
731
551
944
215
215
117
264
526
926
466
354
478
925
28
384
370
831
562
994
90
771
355
147
920
252
148
650
354
842
37
80
570
570
313
117
393
816
98
54
423
228
684
313
495
937
670
345
802
905
366
213
798
757
425
500
496
868
351
887
880
775
338
949
914
229
907
212
105
316
898
515
628
108
723
53
786
279
183
272
996
925
815
953
510
610
429
402
838
329
488
652
204
608
998
2
351
483
844
968
778
440
880
998
740
708
626
850
417
475
133
600
261
713
416
655
863
282
899
971
640
907
443
943
268
439
893
40
62
531
536
348
441
486
506
625
204
589
980
318
591
646
924
309
10
832
306
782
870
188
901
724
162
268
274
44
327
523
81
188
459
945
568
448
80
421
21
849
567
994
991
622
810
939
294
793
829
165
149
349
887
940
336
756
111
360
921
368
733
313
914
393
881
874
221
647
232
247
374
267
980
359
826
946
287
188
51
989
793
737
281
702
844
328
494
177
772
550
168
547
974
754
401
172
532
487
236
12
834
600
395
675
956
78
186
207
603
836
59
742
34
789
106
542
712
552
855
796
387
11
846
775
955
831
824
605
677
681
840
951
325
610
223
380
372
516
148
22
625
107
484
431
561
108
741
209
231
699
138
58
784
364
296
397
541
359
603
589
83
26
14
116
989
10
986
758
727
268
241
923
661
419
279
842
321
598
912
207
882
482
605
225
256
558
72
748
338
27
408
327
710
966
14
558
560
486
720
66
644
676
785
824
872
56
922
286
523
107
99
982
113
215
616
812
696
17
903
247
729
695
525
81
655
271
143
126
66
287
554
500
626
589
470
734
938
89
410
973
202
502
930
952
807
48
424
273
970
19
899
739
165
935
470
168
346
737
770
125
930
84
131
503
62
376
189
726
962
539
494
637
37
993
832
785
12
446
230
932
552
340
7
79
695
826
852
205
979
133
599
219
316
72
287
329
481
191
124
153
638
804
170
404
417
711
920
926
911
924
488
173
402
139
726
981
757
997
488
607
218
405
192
578
731
328
978
848
55
482
77
111
657
321
417
916
763
530
145
376
47
23
450
868
94
96
56
103
212
925
770
335
131
126
741
292
872
417
457
608
358
757
51
156
369
489
191
702
89
143
691
722
794
548
975
68
201
798
714
391
629
473
273
893
383
193
83
15
724
252
698
144
367
594
87
271
698
834
656
800
825
390
619
412
85
43
574
932
919
381
585
669
824
687
624
573
684
779
975
871
911
195
77
538
717
906
346
81
299
433
681
633
879
830
762
288
383
529
718
917
950
413
438
479
644
840
618
955
473
534
613
612
289
416
295
227
212
453
439
317
969
580
575
124
961
566
873
358
905
478
383
207
634
35
874
171
4
726
577
653
868
36
405
13
803
501
558
65
570
603
14
535
312
705
76
75
143
323
16
831
94
52
860
401
324
348
543
249
172
204
966
308
854
487
985
533
580
306
1000
631
437
348
586
82
645
543
594
784
684
770
216
390
347
579
798
447
18
48
598
954
307
991
260
845
727
669
492
212
276
64
363
788
634
563
622
307
165
554
697
919
90
99
354
723
983
285
512
828
240
318
403
112
244
706
54
958
785
137
84
832
682
743
924
494
670
520
873
31
355
590
851
643
436
845
309
302
473
281
534
992
170
962
492
219
530
165
433
867
272
678
711
311
564
650
668
861
490
655
957
264
646
817
409
979
933
968
356
408
908
785
410
42
21
796
775
786
710
924
579
308
570
2
135
363
770
288
717
466
484
572
193
166
332
881
850
440
745
170
814
413
723
614
760
667
671
283
1000
929
864
75
641
785
639
701
203
400
569
466
10
907
738
314
683
266
726
327
271
895
54
478
935
306
677
904
569
327
544
422
456
207
393
285
846
65
715
441
362
683
260
650
224
615
546
870
644
929
575
271
123
694
381
64
56
473
69
104
751
690
739
884
934
718
54
96
868
925
246
419
435
729
14
572
954
914
155
942
993
69
718
316
201
41
151
323
992
724
214
196
941
314
406
402
937
434
248
464
433
148
88
59
640
961
972
89
139
330
778
954
180
114
1
722
884
612
511
195
678
571
170
184
550
582
382
409
133
795
554
559
195
773
946
964
857
612
599
283
739
151
847
318
271
227
434
824
624
431
399
746
72
757
707
821
69
887
70
923
65
551
517
800
839
591
69
115
155
880
279
826
663
234
514
943
277
768
605
704
686
990
859
985
293
36
534
595
617
68
562
687
112
851
682
157
455
888
189
322
555
331
162
577
942
67
411
1
743
8
340
104
134
624
609
949
24
198
770
955
746
91
28
554
693
582
884
692
146
450
713
925
57
551
268
446
160
81
651
939
579
100
613
603
76
129
858
17
148
349
669
798
491
987
342
128
727
964
778
351
892
803
171
742
907
48
829
498
128
203
87
740
140
290
711
28
147
635
375
497
654
441
595
194
671
34
958
651
340
388
633
12
671
713
901
271
120
409
895
308
812
671
811
436
562
387
640
129
254
731
807
441
773
48
242
374
444
195
47
138
824
508
360
775
814
934
997
141
245
702
174
569
511
92
915
874
346
475
789
494
559
834
242
725
381
392
111
959
103
798
873
769
845
580
804
510
627
201
499
807
394
129
141
948
280
752
493
724
186
881
844
720
725
813
31
377
641
630
233
438
136
475
422
521
900
55
278
645
250
483
834
509
505
927
375
192
609
172
894
746
59
389
941
832
400
858
853
145
897
370
140
905
519
344
285
62
25
420
348
218
774
476
512
464
865
525
169
485
352
925
231
299
552
711
86
950
959
607
33
328
823
462
93
37
275
442
785
885
756
286
874
162
606
351
66
319
884
947
369
55
899
687
133
105
449
194
810
210
493
514
110
849
817
17
551
326
270
414
358
695
332
732
287
858
80
750
244
856
110
461
479
30
607
553
752
264
560
795
84
932
47
472
652
581
646
688
900
561
269
445
183
50
157
893
135
921
325
36
452
932
501
489
8
543
474
595
13
512
808
291
476
40
110
687
327
920
342
201
420
560
237
445
63
245
506
805
863
250
375
787
449
688
950
755
66
91
67
668
128
738
562
745
568
730
355
797
218
614
348
130
515
150
887
481
551
454
484
490
852
316
537
544
285
998
48
690
217
139
699
475
340
746
214
225
611
387
626
246
390
834
911
926
182
399
486
468
336
111
233
302
702
713
5
811
494
163
112
85
574
978
855
873
937
265
21
767
440
759
181
907
710
503
731
197
738
97
908
95
867
557
392
515
773
946
721
297
541
870
449
996
149
831
868
434
501
214
180
594
634
370
177
950
912
869
856
235
791
490
929
18
236
918
802
163
966
477
493
416
508
384
881
896
454
210
849
253
416
214
168
578
927
194
412
970
913
331
825
794
465
256
786
288
307
251
468
136
763
21
357
33
42
6
515
77
343
522
861
9
622
352
316
957
868
572
314
353
385
511
65
119
874
744
973
40
96
925
761
513
510
86
192
464
544
765
759
307
119
924
344
276
618
191
654
302
736
379
180
904
570
587
537
224
844
449
299
425
402
263
884
161
956
770
585
718
610
375
600
728
876
432
796
79
722
36
982
733
697
447
665
714
345
858
630
421
888
746
183
795
685
428
573
569
38
804
943
999
730
433
118
15
102
275
698
705
569
442
211
383
217
229
520
283
543
580
310
96
430
870
210
139
197
563
58
943
916
846
860
450
223
866
260
776
525
506
691
766
872
984
943
115
722
723
583
897
519
30
509
742
276
152
933
765
360
173
271
545
261
25
729
150
433
638
860
204
212
850
1000
502
423
261
304
488
511
637
20
242
967
840
779
232
342
494
921
237
401
769
304
284
789
733
608
364
170
692
907
986
918
821
116
346
349
166
30
973
916
810
810
284
987
569
180
350
624
105
66
560
225
753
116
558
51
673
333
37
405
157
70
450
687
68
718
731
619
393
793
415
711
881
487
384
405
528
430
571
422
481
130
610
550
556
492
343
462
150
884
541
209
796
464
971
695
990
852
151
795
207
793
757
780
208
128
676
337
855
298
85
815
636
549
825
284
24
252
535
597
614
995
677
949
703
673
626
354
588
358
469
39
446
583
998
19
33
594
687
7
840
250
79
385
583
486
135
159
58
706
542
718
459
25
914
725
257
23
94
658
572
546
478
368
796
157
412
503
908
18
205
819
502
348
264
189
69
129
148
604
501
364
121
565
60
65
893
68
324
94
810
784
717
121
710
160
292
282
13
897
360
542
409
667
412
390
651
983
551
247
583
880
277
895
472
392
73
310
170
881
701
502
372
936
473
364
495
905
91
79
273
114
807
313
233
506
771
309
586
696
432
988
959
461
774
332
580
250
975
664
216
627
821
908
191
448
816
557
271
214
476
860
86
230
732
714
994
172
730
817
21
155
541
935
525
658
489
534
801
528
859
614
662
778
700
300
392
132
358
656
146
71
124
206
982
641
103
860
263
445
973
302
44
54
861
403
446
506
908
890
707
735
480
335
796
503
142
501
974
875
702
224
701
342
619
304
597
477
33
332
982
369
534
971
663
185
517
993
238
887
651
279
177
537
545
64
311
612
183
953
206
487
52
603
57
524
211
527
386
264
711
170
845
818
878
249
826
904
3
396
454
916
852
278
733
44
262
704
303
748
797
724
288
804
62
342
181
754
831
272
589
831
560
112
910
313
223
422
705
860
664
441
614
565
804
621
136
348
129
697
515
829
841
791
245
30
950
877
445
63
354
34
448
475
664
79
480
92
118
532
222
966
428
399
394
550
843
903
226
304
981
133
838
740
260
550
90
344
850
451
438
879
109
751
672
371
433
922
220
425
264
526
829
625
788
533
60
454
484
545
10
570
281
116
55
279
534
595
221
740
422
299
22
787
648
375
152
233
522
402
531
183
595
646
533
199
32
902
150
109
814
993
6
893
670
377
837
342
378
731
76
130
703
67
645
527
750
714
930
223
1
437
168
653
597
81
178
738
726
410
411
230
125
185
831
645
753
142
997
375
695
250
36
695
218
493
900
254
691
511
409
118
775
587
121
607
887
857
973
952
443
112
983
289
802
252
43
606
149
242
977
57
773
451
580
478
337
334
332
41
753
776
825
714
250
796
727
620
39
985
266
430
748
762
832
647
463
481
235
5
782
479
605
249
739
406
687
238
877
542
501
635
986
373
961
491
254
378
48
636
656
856
579
123
428
614
438
937
348
518
369
802
426
239
83
184
254
987
487
542
963
689
289
458
226
848
110
526
204
258
493
788
697
888
880
57
970
478
727
688
951
833
375
228
499
360
242
909
467
130
170
123
131
647
460
868
349
518
294
648
531
464
686
459
51
419
116
315
299
18
254
209
911
421
982
567
106
241
34
977
216
362
134
469
687
510
473
659
794
797
727
856
338
859
594
609
365
853
989
257
754
307
642
721
153
762
820
195
334
211
280
392
475
565
391
679
311
778
534
820
315
784
535
975
330
139
894
334
116
59
983
993
321
625
263
728
270
33
751
866
795
140
669
797
55
3
220
557
917
776
914
533
4
97
718
571
978
65
596
686
938
10
648
109
117
512
175
658
163
561
467
247
422
304
3
923
557
585
70
963
756
336
503
436
545
949
367
108
935
958
918
743
197
685
119
639
116
74
303
734
929
532
325
703
509
501
694
273
567
394
712
411
772
722
623
124
732
491
131
364
710
433
406
923
814
211
906
288
137
527
878
110
1000
953
443
337
10
413
514
71
113
451
645
916
215
806
85
903
231
385
929
87
588
392
304
553
345
259
910
907
69
6
120
247
528
853
38
273
79
222
588
452
357
738
748
96
487
497
498
797
588
644
923
909
790
263
181
687
301
690
712
218
358
612
169
545
22
749
15
192
864
473
643
904
555
469
182
519
258
415
833
800
501
713
726
509
903
487
798
170
727
449
94
784
736
717
276
220
242
347
813
121
554
188
507
962
246
608
547
300
816
820
227
386
323
801
872
21
543
259
233
961
25
715
821
235
200
512
231
438
329
504
491
466
671
231
853
148
713
643
279
952
678
787
46
257
831
464
532
693
272
516
254
695
30
288
668
741
249
812
55
694
197
434
72
299
614
925
196
164
676
604
312
483
444
633
197
355
235
440
478
806
773
179
938
503
334
246
700
736
360
109
925
437
169
169
132
896
452
909
143
338
244
335
972
746
902
597
678
111
444
729
300
827
264
639
544
79
864
829
796
891
724
867
369
957
867
263
642
520
970
261
887
311
116
13
139
38
388
761
400
953
576
931
871
824
171
498
638
998
705
594
434
339
223
82
693
511
346
754
56
459
962
855
958
981
32
919
644
945
391
232
237
62
721
822
65
128
41
557
459
282
176
802
713
147
664
79
667
701
485
367
657
313
774
979
214
699
470
460
923
445
407
567
341
371
956
193
719
242
718
58
549
218
152
71
635
40
263
564
462
109
623
978
143
529
100
200
95
707
600
438
926
255
51
447
698
829
606
930
852
1
756
170
617
427
647
268
631
376
370
926
834
172
449
317
469
186
24
474
113
832
481
570
263
429
407
608
940
896
754
348
130
988
93
729
669
178
629
654
342
368
456
792
556
318
135
930
941
33
314
516
605
427
515
259
610
206
639
15
403
307
10
774
582
191
964
230
372
958
105
280
645
558
341
823
106
336
728
382
552
774
968
410
729
568
141
617
366
113
846
291
440
70
519
379
564
914
78
63
683
289
439
634
934
540
680
771
599
17
786
721
576
606
7
474
706
490
791
732
550
307
167
390
975
724
223
262
978
940
28
3
716
794
931
535
644
937
687
777
971
26
266
182
409
1
517
375
325
284
90
189
960
179
141
530
317
843
378
783
734
943
966
951
868
518
639
277
34
619
125
925
418
35
662
145
655
747
945
494
684
838
302
843
571
201
310
361
217
794
313
147
470
147
521
920
187
489
459
30
211
183
530
43
76
103
392
346
476
232
642
538
189
29
32
836
193
21
76
402
179
734
444
233
515
235
967
278
1000
543
446
479
412
671
697
755
956
304
436
332
172
979
659
407
800
164
179
872
372
820
810
707
21
876
537
682
106
517
640
234
777
384
390
723
531
546
412
783
133
612
224
169
32
434
789
305
533
676
132
732
544
901
206
803
680
983
221
228
851
335
611
580
262
908
644
420
897
918
428
497
175
22
772
403
417
1
858
108
199
64
224
50
438
546
887
855
276
130
747
279
451
726
604
679
836
765
194
182
301
12
703
718
829
937
74
266
104
328
278
976
408
86
429
328
728
107
264
104
420
707
8
754
658
334
160
703
148
181
989
223
278
897
877
773
959
799
734
131
878
845
829
216
812
201
315
213
939
362
639
535
773
674
795
162
499
570
65
125
979
20
516
250
631
458
5
790
726
960
858
228
370
547
714
399
605
260
239
10
600
108
567
809
855
62
312
937
733
24
9
454
370
109
619
612
213
617
539
254
26
823
190
593
151
33
845
724
268
452
807
460
644
13
454
437
108
736
938
24
577
126
513
231
991
796
584
694
954
811
559
811
172
212
500
282
70
792
392
631
565
494
562
754
65
711
423
208
202
392
244
703
660
55
94
261
764
775
455
562
136
712
253
312
831
11
220
827
847
737
574
663
793
72
944
809
820
157
412
867
595
816
248
684
251
904
685
107
736
150
616
862
928
203
650
125
206
35
336
944
910
991
703
587
279
537
486
784
982
218
537
37
344
389
935
430
715
89
301
827
199
754
610
962
160
599
603
677
473
167
521
491
492
926
481
752
124
846
265
853
143
526
693
403
165
840
15
745
234
9
964
965
62
714
222
346
350
126
17
262
463
734
526
677
967
448
539
705
202
750
600
226
70
578
416
131
740
250
937
606
772
959
867
789
477
270
796
265
987
636
332
92
599
137
814
516
442
532
238
56
407
245
5
416
603
80
985
552
278
312
153
246
290
290
794
781
706
842
816
628
54
590
255
596
81
735
453
543
598
9
703
593
153
257
390
765
815
550
778
83
326
831
629
486
213
823
790
373
246
350
728
150
810
275
741
974
317
968
249
764
782
601
127
644
113
586
508
210
409
163
885
406
826
479
610
321
142
503
80
943
200
774
17
745
820
279
223
998
610
742
137
867
345
209
310
692
225
103
656
304
377
854
956
897
427
804
628
749
828
321
236
48
901
982
532
175
226
219
98
64
92
59
815
682
235
449
451
243
934
185
628
490
898
661
312
298
41
479
770
856
378
464
598
916
782
787
59
941
282
707
451
494
912
893
635
887
839
435
197
932
690
412
910
616
494
329
302
647
657
814
188
150
727
733
941
186
496
272
151
434
133
581
45
87
663
323
740
963
70
820
934
896
697
512
137
711
436
156
908
456
398
502
862
142
354
204
398
893
295
354
196
325
835
373
545
923
74
914
450
410
711
78
330
383
906
544
787
2
392
90
601
134
831
634
613
181
244
133
622
714
644
600
750
213
644
38
4
409
940
341
902
197
5
43
131
618
266
352
134
185
333
83
448
666
527
945
365
535
107
127
212
452
98
298
107
523
536
920
593
589
310
277
937
474
494
693
205
917
220
247
448
947
687
683
468
539
868
324
660
726
843
546
379
776
425
772
125
646
991
986
582
690
918
516
236
530
114
187
835
51
451
957
446
736
740
888
241
919
113
567
415
110
255
169
863
213
974
951
303
341
16
289
573
924
869
358
710
998
532
151
261
861
880
816
990
780
292
241
761
80
699
382
944
715
22
104
105
384
298
184
106
373
428
699
980
542
575
233
136
319
737
215
480
121
911
206
39
358
560
182
544
76
807
646
210
319
906
949
665
495
29
309
536
416
382
874
759
135
939
589
46
443
884
798
282
653
934
250
849
322
328
642
984
672
170
907
348
784
224
202
890
77
998
971
964
194
144
484
394
186
788
14
863
792
381
145
550
693
65
756
421
867
355
897
960
518
131
139
418
642
563
927
835
971
606
187
200
876
126
683
124
870
558
619
292
464
232
612
803
502
145
406
206
551
24
664
693
577
953
748
426
927
742
657
428
574
449
167
821
726
161
836
428
107
231
671
955
696
628
203
986
231
992
203
50
564
249
447
851
804
381
830
581
253
33
562
895
323
187
378
742
992
32
490
752
866
515
467
276
569
786
357
519
39
890
157
397
252
626
140
905
67
448
668
811
155
622
858
423
436
668
862
49
59
248
598
494
712
285
468
625
964
43
981
588
451
342
236
739
885
837
875
740
330
538
495
523
666
330
467
82
901
299
806
66
839
77
994
237
611
259
677
703
775
193
739
689
977
67
549
316
677
304
119
503
75
692
493
620
153
572
930
994
717
670
355
684
416
821
113
224
982
943
272
178
363
79
589
425
976
243
794
66
60
91
20
718
981
172
52
757
398
582
566
751
380
423
684
938
946
344
971
97
997
805
481
573
265
437
566
544
767
6
952
823
200
58
15
639
853
265
273
862
933
869
885
85
623
377
312
828
801
852
382
871
134
718
714
406
152
983
819
240
997
201
224
773
770
264
666
854
792
348
721
889
623
939
248
785
410
898
671
396
961
923
436
174
978
640
946
578
40
754
899
691
252
372
226
147
971
622
770
145
628
193
435
842
495
261
780
867
167
522
923
54
664
779
220
719
274
548
341
5
741
702
294
857
925
15
432
179
802
799
699
594
597
532
178
26
826
478
527
995
280
828
27
154
299
821
794
43
226
628
138
512
580
531
213
521
325
70
866
298
578
372
6
938
262
860
945
568
476
879
872
147
826
558
58
816
551
404
414
486
52
702
774
971
346
791
627
585
48
674
44
584
705
232
267
175
694
500
713
179
466
109
193
534
570
989
771
6
801
866
2
421
784
919
273
681
501
215
550
615
586
154
167
466
696
234
184
424
900
909
455
161
815
139
777
772
197
559
421
854
766
806
876
735
322
686
866
14
642
316
578
629
191
272
561
673
447
103
932
26
496
240
384
676
623
481
975
298
807
734
832
236
395
613
719
565
730
854
878
299
205
220
676
149
994
730
375
434
750
587
758
905
635
150
468
254
402
652
622
39
652
133
710
597
19
244
803
275
795
151
854
961
424
764
211
490
366
908
516
928
71
858
830
175
186
861
176
561
662
890
691
333
124
898
214
25
743
252
465
688
824
869
942
907
541
831
240
304
530
867
847
982
565
170
333
990
158
468
490
404
739
123
208
96
997
321
770
575
92
65
829
570
698
797
519
164
262
947
46
375
432
595
627
26
351
758
823
658
379
500
155
3
885
183
409
243
914
709
143
851
906
513
780
358
171
405
76
769
463
114
925
666
849
500
205
290
28
992
819
992
419
727
187
497
594
268
156
354
126
511
751
821
487
609
186
145
426
281
342
903
154
908
220
605
754
164
958
253
449
782
658
922
772
225
625
706
190
665
598
595
485
689
231
902
994
573
375
909
873
813
669
282
681
817
610
637
934
334
491
348
740
230
590
344
278
678
540
151
657
710
75
887
678
338
263
278
88
116
855
994
203
124
658
795
187
830
641
15
851
174
71
906
571
536
126
234
804
944
285
309
724
8
290
325
720
563
628
479
827
962
292
843
689
257
43
386
319
281
520
842
757
757
326
362
676
146
638
998
167
862
3
129
197
893
709
845
693
594
534
206
814
632
728
980
737
612
815
199
189
938
144
367
60
816
185
700
623
160
210
85
312
311
383
794
542
151
232
145
732
165
177
403
589
468
59
240
688
626
608
961
576
344
389
530
936
740
67
158
836
983
732
836
741
521
661
737
719
981
98
854
268
131
564
588
276
914
758
251
872
711
326
623
390
408
648
753
191
819
330
175
865
231
251
597
186
631
877
897
262
214
47
949
517
343
576
421
481
45
847
164
907
435
22
245
375
247
612
986
383
744
959
591
907
880
570
72
538
501
381
237
618
773
733
427
216
770
285
536
434
340
122
636
252
964
30
132
72
274
312
1
179
355
508
101
573
672
97
930
25
768
585
507
722
397
383
219
615
868
527
612
385
719
625
64
8
735
344
228
24
542
401
934
971
632
294
950
915
770
940
663
635
158
972
251
838
601
710
366
716
207
712
699
252
811
371
60
970
404
247
749
232
332
691
82
744
949
841
886
690
658
262
688
795
47
347
78
636
892
75
432
763
337
898
794
513
493
317
188
931
17
192
70
869
997
942
943
183
567
568
361
885
294
872
711
300
267
342
166
528
240
893
174
978
917
104
665
355
659
590
943
229
457
932
867
233
48
894
516
45
383
735
981
484
519
82
324
484
167
175
32
249
786
301
464
553
82
877
929
68
254
958
983
553
119
899
498
956
501
555
837
770
925
635
202
492
702
798
871
654
925
650
540
693
815
62
455
889
65
116
373
687
553
554
611
994
851
834
650
462
462
738
779
341
602
35
286
203
650
873
548
759
103
416
166
994
967
734
1000
86
72
129
531
895
682
850
506
344
133
668
217
678
972
844
94
407
197
867
498
723
760
705
760
323
460
468
511
859
706
75
324
680
404
959
513
163
405
882
703
653
517
650
445
988
97
903
708
640
620
174
557
736
419
84
731
620
11
904
61
150
33
705
938
633
827
949
72
146
149
721
826
24
308
729
316
442
265
857
261
353
897
303
336
530
659
293
356
99
335
931
202
722
454
20
812
573
192
556
937
329
280
197
571
671
501
182
184
216
863
94
908
361
427
341
813
263
65
455
313
61
138
118
482
497
195
351
794
284
314
423
385
925
634
875
434
216
963
496
670
317
73
240
354
100
469
815
269
486
919
131
414
588
57
900
125
807
668
375
274
443
88
695
65
16
295
277
694
245
868
495
792
544
966
191
158
988
896
627
740
914
613
173
212
720
726
336
791
970
186
779
110
611
863
583
76
953
623
355
645
105
384
723
355
693
839
398
268
38
190
255
718
443
295
815
862
877
79
112
592
127
931
164
792
472
65
187
289
999
531
216
78
961
606
71
590
18
811
408
819
725
688
187
99
426
776
29
223
541
918
794
350
320
166
217
862
322
67
559
925
223
17
96
10
94
740
659
43
937
658
645
178
101
81
619
384
188
684
120
216
180
712
339
115
832
706
110
584
806
314
24
379
649
938
580
666
453
537
966
709
991
910
450
236
156
159
394
131
799
863
574
430
426
665
842
926
764
628
172
861
913
691
743
295
650
40
81
715
460
981
207
420
52
186
365
952
434
810
198
652
97
31
159
980
502
24
547
820
872
242
794
408
211
150
533
891
594
239
559
744
56
220
966
486
779
788
669
148
898
265
997
966
952
681
272
611
895
635
98
99
648
304
589
166
334
577
937
537
737
144
498
995
9
750
76
581
329
543
165
553
42
597
734
996
793
236
540
57
290
754
47
844
653
481
809
973
728
918
534
574
372
839
127
345
461
855
745
879
312
891
216
95
258
469
273
25
376
449
663
645
739
111
606
671
99
72
2
483
634
550
515
398
222
913
897
535
734
285
940
445
4
225
32
446
448
127
583
388
804
60
521
152
93
213
653
750
686
966
921
337
331
901
493
775
87
731
199
656
377
196
17
869
799
487
205
818
889
649
189
430
798
697
513
913
677
908
990
65
682
863
692
578
625
326
577
424
739
973
344
877
472
329
596
157
919
3
493
5
350
446
861
701
216
30
166
178
217
192
842
927
254
741
220
322
585
225
683
842
69
401
782
427
181
450
697
866
375
578
862
675
449
1
556
409
828
175
973
714
15
270
616
738
56
566
848
678
535
417
106
372
477
896
579
827
555
33
117
494
171
835
766
918
276
876
610
118
331
346
502
666
378
867
905
1
59
264
276
915
296
764
336
537
525
732
138
373
579
191
57
117
764
804
687
38
252
948
183
700
623
760
735
662
297
783
742
586
633
934
716
881
667
38
124
609
828
107
174
863
476
865
7
275
773
769
919
595
244
917
948
536
322
789
675
168
365
708
106
238
882
312
303
675
173
49
802
438
201
918
936
584
258
257
876
111
934
350
605
704
929
45
36
962
538
362
188
97
966
277
676
345
229
491
759
560
50
11
848
524
52
791
683
538
533
514
365
761
310
851
24
573
412
156
227
974
891
623
106
663
690
382
837
949
242
883
304
140
485
172
704
345
32
361
408
929
547
664
604
988
750
849
127
301
83
884
393
176
785
829
573
489
19
733
933
6
726
438
814
770
102
675
845
930
926
797
807
888
495
798
30
69
594
31
318
921
739
169
190
980
925
507
647
964
247
663
776
901
47
107
236
233
709
693
94
687
803
584
508
462
68
509
515
938
634
292
501
694
943
4
1
56
90
854
144
848
661
192
394
213
723
560
247
654
280
789
191
475
406
547
542
838
256
570
748
570
320
69
354
650
641
431
127
34
151
395
740
127
967
334
42
721
253
150
164
670
197
547
610
930
804
133
67
830
397
875
863
619
219
934
875
389
24
792
231
452
345
882
317
124
966
657
455
674
198
130
109
850
741
439
626
43
281
938
341
607
486
621
320
303
723
439
160
116
644
221
30
956
792
449
567
853
479
95
352
300
520
120
415
363
826
949
633
981
485
486
948
678
718
741
36
550
6
199
447
943
779
395
236
755
268
14
833
622
527
4
191
568
158
819
292
897
994
946
710
165
826
255
267
119
296
592
764
375
234
239
395
427
44
528
751
315
225
938
214
895
757
472
175
202
868
975
735
827
653
302
441
594
115
958
203
57
479
885
719
527
21
584
625
368
259
622
106
311
59
918
909
397
117
882
507
946
300
599
687
639
562
770
979
421
465
70
152
402
886
876
467
371
138
97
504
850
561
958
157
829
636
150
821
468
785
718
892
70
335
428
448
589
576
100
366
778
435
607
231
827
48
792
44
27
469
572
181
537
768
851
24
816
56
727
399
672
344
626
297
142
665
649
338
634
632
417
101
850
422
153
749
1000
207
525
344
759
225
74
876
216
995
639
287
778
678
296
742
651
210
724
949
31
629
854
608
592
989
839
954
203
314
141
931
65
371
559
747
611
394
530
410
591
518
937
424
732
389
955
945
235
307
160
598
178
295
264
600
562
715
348
35
355
379
378
893
375
614
159
995
296
454
571
999
328
885
129
507
405
125
415
700
794
996
923
15
103
790
193
160
599
433
917
113
605
411
825
863
473
628
802
327
333
330
621
283
346
286
118
144
687
640
397
139
850
252
901
750
170
888
761
296
626
302
878
182
106
130
626
655
320
523
866
857
435
602
240
617
366
162
320
670
327
528
285
941
927
86
195
137
601
840
862
92
606
261
547
279
193
824
385
397
781
885
562
202
147
963
710
605
698
72
917
587
885
494
35
674
663
228
671
548
735
457
381
869
961
517
92
548
953
244
695
498
355
70
117
364
731
925
883
886
293
807
347
265
935
873
323
397
163
50
776
897
544
444
657
593
241
286
659
564
55
751
916
876
156
759
211
861
310
782
265
172
29
754
56
873
510
402
949
505
607
744
596
399
395
984
201
542
41
780
743
894
825
712
203
432
144
761
663
103
247
813
363
530
261
508
492
581
806
238
493
832
106
750
164
570
61
566
661
211
174
445
807
918
566
144
786
771
607
64
360
25
791
741
271
925
614
740
354
997
132
233
217
999
808
427
21
484
986
75
37
475
84
454
161
896
141
610
497
176
893
135
449
968
960
444
512
997
22
312
90
860
108
447
217
9
256
989
23
276
796
121
148
4
523
446
77
283
791
365
548
833
390
475
763
803
679
909
129
108
27
634
640
985
117
929
828
100
992
674
407
903
62
622
349
919
460
512
163
299
214
753
558
306
760
417
515
318
168
443
29
617
324
287
438
452
5
727
276
839
416
173
91
141
315
637
493
704
259
435
989
747
892
847
837
255
418
181
224
844
582
130
569
425
550
882
655
50
29
165
583
476
891
310
243
844
304
451
151
371
94
182
953
76
661
351
907
417
263
173
905
134
896
538
397
755
329
176
699
971
61
363
717
538
100
964
85
449
513
906
74
866
615
642
408
704
539
741
286
823
662
541
502
497
42
679
548
193
572
435
960
750
36
4
2
682
652
247
954
730
923
985
914
734
875
613
32
581
802
665
512
278
681
970
573
173
301
215
780
971
11
51
808
456
653
359
762
788
937
935
610
801
21
644
184
28
489
45
450
9
309
583
425
78
563
741
222
967
936
918
165
503
3
402
841
141
322
552
233
313
236
137
799
377
67
897
476
471
61
525
105
709
74
665
694
988
464
28
288
126
82
375
934
173
566
972
380
523
369
87
710
886
76
230
60
272
607
146
929
867
850
21
382
135
97
940
592
465
432
452
776
470
882
950
563
370
677
709
218
936
485
614
956
161
834
29
785
156
232
768
943
762
688
867
982
47
432
685
31
131
640
881
541
773
880
990
115
775
816
643
615
519
422
951
849
909
596
218
531
562
591
942
143
354
149
6
538
325
520
76
835
497
864
483
229
390
649
280
833
896
758
750
548
660
950
353
290
373
263
26
573
140
659
740
599
658
971
475
492
37
758
79
269
935
218
27
452
141
690
759
978
854
618
66
204
686
51
36
355
862
909
151
721
160
244
453
288
912
720
149
216
755
327
599
821
904
135
437
231
435
560
468
924
421
145
50
732
808
374
944
698
602
382
940
377
268
750
178
812
242
714
727
383
126
266
876
225
425
597
591
674
658
266
765
493
304
268
200
237
310
929
770
204
837
168
815
843
493
195
648
362
570
189
970
590
684
798
125
743
797
617
373
917
794
899
783
549
682
884
917
25
997
47
229
895
171
491
950
880
499
468
319
938
779
717
196
231
925
907
440
693
581
970
977
303
311
524
132
841
994
908
617
105
881
569
576
79
174
674
195
522
89
843
700
809
121
879
14
615
616
160
930
225
817
178
455
818
290
317
864
90
970
565
99
935
128
306
378
755
223
741
257
131
964
744
936
232
879
179
313
345
367
781
123
352
497
734
524
779
802
953
678
330
923
932
156
414
247
731
533
269
609
279
123
710
726
756
642
417
279
217
507
933
449
983
606
227
294
592
613
764
541
241
375
502
282
737
441
135
536
936
541
213
878
538
740
459
130
886
986
746
648
105
18
676
860
535
923
670
530
891
166
798
703
16
574
293
378
394
580
882
773
827
25
582
436
795
939
589
594
81
23
234
831
140
18
777
640
594
720
951
405
943
196
790
114
275
660
226
482
309
539
371
154
577
504
176
393
953
613
375
949
984
274
246
846
717
418
718
444
775
140
814
464
458
84
214
613
563
1000
1000
88
412
235
252
494
327
407
251
664
401
145
475
449
951
565
466
799
503
107
881
355
480
468
754
328
32
632
46
681
612
398
87
454
959
401
359
661
133
349
426
315
122
82
479
20
313
105
109
44
853
442
421
950
471
29
550
662
873
365
947
317
229
802
562
383
572
702
197
275
169
650
835
167
45
64
727
769
888
820
388
593
481
986
386
625
695
332
43
400
785
82
699
175
435
264
206
262
538
98
701
644
175
106
528
638
658
999
365
739
744
939
232
779
377
499
91
152
361
463
158
222
399
658
889
936
849
145
837
347
343
457
223
963
160
8
130
846
856
492
655
912
212
824
249
166
979
176
741
507
264
736
190
271
655
95
843
947
328
579
905
301
478
422
787
751
349
414
738
958
56
520
532
463
149
53
943
712
587
135
300
927
361
583
329
135
532
827
811
90
855
173
335
977
473
525
579
547
385
668
76
785
545
359
419
269
448
754
178
175
38
160
616
236
595
703
437
63
32
267
402
922
678
971
613
457
198
546
700
850
781
172
903
634
96
761
284
660
805
189
899
781
618
686
791
408
969
457
78
442
409
612
267
49
693
661
129
337
401
136
160
313
614
406
659
403
815
381
945
424
729
586
91
131
238
42
804
384
877
511
798
522
650
895
37
757
85
31
770
263
509
673
126
183
484
198
374
936
254
454
639
66
803
220
1000
362
848
937
385
142
672
735
648
387
209
283
503
892
217
678
756
716
663
384
418
997
706
246
818
615
765
719
823
308
203
748
595
561
109
202
131
14
494
347
968
180
988
635
54
992
765
966
736
53
21
700
257
523
766
887
908
211
106
602
238
845
453
795
289
421
308
776
885
249
349
308
414
577
566
296
361
663
107
235
126
786
296
879
262
949
17
116
357
985
297
635
218
354
443
781
899
160
533
951
356
837
427
967
232
508
682
157
309
213
960
258
699
123
552
866
698
330
633
862
578
32
731
139
248
742
689
8
864
673
86
854
987
572
684
960
793
134
968
950
187
527
267
948
427
752
246
408
970
279
805
503
842
884
523
146
774
658
847
990
713
950
154
191
84
370
661
351
365
70
928
802
115
203
338
319
574
880
527
418
374
909
196
637
675
355
123
581
266
240
477
41
778
734
730
236
181
838
565
30
148
856
170
41
736
927
234
691
33
514
774
588
92
24
638
108
516
645
170
683
522
129
51
104
162
435
780
68
668
90
591
357
545
684
889
239
146
103
407
149
919
4
393
258
437
563
81
268
617
681
595
687
231
716
222
832
952
285
661
62
659
813
497
60
696
369
596
522
80
736
586
252
409
823
861
523
356
294
797
506
199
721
986
747
784
652
330
929
688
757
793
628
117
589
430
379
253
576
102
117
346
561
916
990
833
605
20
604
170
753
829
11
854
203
184
114
328
599
172
723
75
220
574
200
223
458
1
460
411
288
746
157
511
421
346
991
16
432
617
459
576
438
688
798
198
840
149
562
81
238
7
9
955
854
554
476
2
736
612
5
184
535
882
729
833
897
264
983
866
372
106
647
894
251
307
978
775
972
58
69
891
522
825
121
515
808
847
905
190
85
28
160
935
366
604
178
450
192
387
496
220
260
684
444
559
191
241
273
211
161
669
737
41
183
857
277
759
614
808
430
361
826
203
669
152
71
733
659
809
254
902
825
926
738
590
205
875
297
114
794
616
45
923
973
314
484
337
151
222
845
945
473
297
513
358
264
479
658
42
939
353
162
844
236
196
540
644
980
8
838
322
56
236
431
800
915
300
226
517
715
933
32
92
178
609
743
302
312
993
572
747
447
459
753
745
425
183
30
49
379
231
758
983
253
360
647
428
109
954
2
926
315
636
815
827
898
610
227
11
711
733
673
228
576
617
503
512
223
835
984
426
683
429
365
136
773
472
140
438
436
411
702
887
9
250
367
141
934
438
109
450
35
477
457
18
238
867
655
574
559
977
629
114
212
836
279
193
974
652
325
572
286
40
269
278
146
592
42
355
528
427
531
652
929
772
531
30
661
485
601
260
663
653
930
710
936
41
618
636
200
233
680
536
989
755
701
543
204
335
297
293
96
729
449
38
755
210
336
42
444
914
511
445
528
721
125
868
341
228
446
971
56
699
102
111
489
575
310
956
867
230
848
696
723
187
705
997
490
959
121
425
858
953
213
433
615
691
508
336
546
678
459
926
924
845
499
504
272
437
222
136
363
567
79
896
898
457
339
709
866
540
164
127
397
188
323
94
813
814
471
256
660
513
935
901
737
176
640
962
539
248
137
804
44
894
708
731
507
376
161
219
769
856
252
904
580
678
624
257
646
426
786
706
402
696
920
670
998
562
256
620
642
202
330
803
220
984
697
716
71
593
566
767
886
468
397
799
4
889
697
342
733
539
143
492
967
275
674
328
49
138
387
613
748
336
908
353
243
47
410
460
231
431
602
356
598
126
815
878
645
881
800
250
490
678
934
196
132
882
362
496
595
464
981
430
778
337
313
571
839
196
28
339
495
16
286
583
125
548
149
206
408
738
1000
502
98
976
294
465
628
480
997
766
473
920
741
524
574
609
80
229
690
169
207
410
222
647
174
713
923
443
940
84
932
256
550
625
700
512
379
558
752
358
630
404
669
368
228
162
333
575
838
767
270
285
992
582
861
418
177
2
331
797
350
525
640
878
519
789
868
904
911
141
230
380
799
302
595
47
203
538
280
242
568
558
922
669
975
37
444
87
627
273
462
395
143
992
40
876
676
696
307
148
958
327
333
485
211
173
605
733
233
126
594
7
106
419
201
712
710
895
320
206
596
745
352
602
900
371
277
787
613
719
810
709
972
975
239
425
695
5
767
138
533
286
588
717
900
373
446
789
369
138
152
483
465
102
356
392
495
211
938
97
133
286
474
865
76
229
650
774
386
763
882
565
69
123
133
982
11
664
622
225
659
772
146
413
737
822
791
623
823
199
98
177
873
522
151
291
599
316
653
164
173
332
757
813
906
590
336
730
372
19
395
511
980
253
550
144
108
753
833
571
768
896
628
465
187
132
158
908
863
586
838
790
390
726
724
326
805
850
467
19
292
157
474
767
833
152
386
602
784
934
662
701
429
714
741
906
275
544
236
968
218
809
660
153
755
532
409
602
71
875
136
97
208
559
185
462
489
74
446
863
47
674
858
704
596
152
797
627
564
291
758
396
330
720
54
57
568
612
757
839
657
309
715
709
693
475
309
377
892
829
523
775
73
878
45
766
468
275
356
881
338
655
185
383
715
808
298
861
148
53
298
845
505
570
25
661
711
185
167
822
827
849
908
826
998
616
790
103
631
444
475
228
615
549
777
225
525
364
127
968
530
370
669
191
150
210
251
623
119
521
946
100
325
858
125
273
240
956
744
738
282
301
266
967
281
657
548
414
588
774
103
579
403
950
386
607
568
518
128
197
425
618
290
227
328
789
922
510
60
35
42
528
699
998
692
826
466
822
476
977
689
64
219
685
307
760
862
644
271
379
362
219
790
935
126
894
600
958
508
690
384
382
943
441
968
679
621
891
177
685
962
72
109
691
773
321
70
289
680
574
662
379
309
322
285
515
753
682
886
475
46
598
870
501
733
89
954
212
130
794
176
568
533
824
411
590
476
53
508
757
111
541
626
162
904
745
398
498
169
532
326
922
387
774
222
686
863
502
528
169
53
147
112
618
806
417
476
464
820
735
358
556
886
968
386
38
832
395
781
882
661
458
113
264
67
882
762
105
348
158
38
60
786
226
897
190
693
436
788
335
691
499
478
957
218
208
596
836
959
151
264
537
631
513
406
22
537
335
243
119
415
261
32
812
335
906
339
485
860
456
971
329
230
7
285
59
68
448
693
14
11
428
106
470
683
6
492
693
659
166
920
863
391
270
235
500
621
845
21
441
433
886
577
728
953
943
450
985
670
864
493
11
492
988
497
333
957
966
195
416
443
151
865
65
859
676
768
332
33
920
434
868
959
56
118
259
113
767
839
338
299
20
44
859
871
993
317
190
708
859
537
890
37
179
535
124
43
33
627
877
224
910
349
835
611
559
355
638
311
704
705
898
294
527
718
36
3
321
141
527
143
555
653
550
964
875
592
439
461
232
401
547
167
429
455
311
648
843
834
369
365
997
133
571
324
940
566
573
805
122
492
515
500
541
946
976
614
473
965
976
817
33
251
332
459
117
235
48
124
53
672
780
422
402
727
594
915
917
914
410
188
630
344
525
386
388
505
570
981
939
171
101
147
842
130
775
867
66
97
725
842
117
592
324
322
935
560
978
212
620
211
3
227
221
883
887
355
470
759
472
656
338
884
650
215
739
256
208
132
512
751
329
567
90
209
119
214
869
360
217
10
367
127
181
593
722
504
906
745
923
395
726
62
463
747
258
160
757
841
234
23
764
844
796
480
748
570
744
417
983
953
229
14
538
905
253
227
971
73
122
758
867
514
706
943
702
445
931
387
410
58
456
636
393
838
900
888
422
935
281
538
55
960
564
366
727
956
360
270
629
429
826
795
870
45
778
109
161
18
871
717
473
269
457
949
664
135
389
180
93
815
612
835
613
735
850
416
142
711
89
235
236
137
820
38
662
403
222
419
38
433
557
782
5
496
39
618
219
464
371
40
733
259
957
829
930
558
492
736
267
716
322
436
523
495
429
283
103
406
401
23
244
395
62
665
634
148
693
35
17
508
956
899
894
392
676
170
272
81
628
400
756
984
348
666
970
789
767
25
397
429
180
852
274
422
634
806
81
990
342
626
513
783
138
645
550
194
306
754
394
13
322
494
591
589
214
124
617
798
247
786
562
820
594
354
331
155
519
136
941
371
313
404
96
767
940
584
188
546
860
82
289
71
19
897
485
522
338
588
122
548
344
706
139
560
768
488
695
931
36
482
708
694
576
771
770
285
794
644
147
506
368
878
183
166
245
293
535
783
360
845
72
316
609
366
164
173
84
959
350
597
903
205
56
144
220
569
95
132
184
834
212
854
669
952
783
849
554
446
125
732
251
369
542
888
931
881
379
888
604
710
852
580
813
101
368
658
185
382
365
959
533
954
452
872
463
314
774
1
732
720
79
687
669
241
904
59
49
225
702
51
734
660
451
202
255
544
512
147
249
89
45
398
337
552
311
384
594
538
567
776
244
847
66
775
566
337
889
395
316
820
941
785
146
694
466
248
596
882
868
977
252
662
455
445
557
130
951
39
604
380
292
796
937
952
250
27
42
742
891
230
710
364
758
899
946
899
904
784
401
82
613
684
582
223
708
89
256
604
841
850
518
634
53
588
988
818
198
731
455
437
535
927
99
918
890
56
94
60
336
225
8
626
241
953
905
343
890
191
484
12
599
979
897
256
416
283
105
413
29
25
774
220
477
379
751
237
607
175
72
394
13
651
358
657
347
841
146
591
496
615
418
472
80
770
124
722
162
553
977
654
821
752
190
886
473
766
99
354
436
100
803
538
244
375
64
374
654
248
722
343
116
610
751
389
721
41
953
643
284
805
975
432
260
552
966
651
681
559
753
411
122
506
818
793
17
760
742
676
289
645
23
826
367
432
324
914
129
618
300
631
229
624
101
880
548
217
550
830
224
776
762
743
843
63
680
612
865
286
582
60
315
43
142
425
81
235
22
651
922
116
290
414
402
467
190
895
551
285
926
765
999
484
127
214
680
845
648
337
998
869
173
766
505
220
857
231
737
192
904
617
822
984
546
195
907
602
359
908
210
891
225
999
739
558
563
796
330
994
598
189
667
428
584
173
377
192
865
848
145
879
596
448
992
785
740
273
549
300
704
905
186
865
578
706
317
683
515
403
72
628
193
509
789
700
681
439
464
939
259
438
384
904
924
857
631
732
380
904
76
282
258
696
768
79
225
365
311
610
416
974
984
4
300
245
820
311
710
406
849
377
262
28
983
786
808
343
811
478
859
413
681
408
183
437
25
50
869
687
810
659
204
808
405
928
659
693
876
91
114
738
939
583
211
59
356
86
393
151
571
150
744
564
747
620
226
400
212
784
284
795
477
478
80
145
659
419
803
486
105
641
616
320
496
268
782
191
490
789
441
473
256
633
326
169
842
134
416
993
417
875
172
646
854
44
525
999
11
616
227
832
310
153
540
902
914
500
478
349
875
927
969
915
109
111
410
954
971
882
15
32
472
859
268
712
926
917
561
241
890
941
806
5
818
474
387
994
749
678
355
32
691
468
131
198
110
848
358
675
66
207
719
260
101
806
697
903
927
751
265
934
351
510
465
83
607
427
660
15
495
757
9
858
244
439
364
122
68
228
386
480
741
803
107
118
325
172
580
748
404
44
527
914
792
796
97
937
674
374
940
683
613
717
801
369
646
307
769
766
964
40
107
523
284
906
343
766
115
897
892
817
521
140
69
621
922
538
733
471
660
39
208
667
810
296
345
85
755
613
752
955
535
12
325
830
905
742
122
352
296
753
566
401
624
494
703
189
973
900
958
111
718
569
427
477
568
952
234
800
355
846
911
962
125
600
76
414
233
212
877
535
700
944
853
438
44
165
848
771
167
889
587
547
640
858
361
612
919
94
25
140
593
577
175
468
765
24
927
636
64
841
222
254
569
954
923
690
165
580
287
127
433
9
573
716
226
107
650
954
478
557
470
360
663
839
187
769
523
551
516
821
358
965
658
746
210
646
729
170
726
534
186
454
373
176
188
48
906
650
142
416
718
319
995
397
743
754
947
236
89
35
349
123
485
178
520
823
894
608
104
816
387
446
351
474
477
877
431
948
616
12
459
836
500
479
434
175
173
413
699
20
618
700
840
639
723
20
177
385
14
756
127
421
530
865
746
759
587
583
707
545
912
236
830
122
849
480
10
152
896
12
65
15
820
181
608
771
4
924
484
197
486
180
723
811
330
223
249
322
617
410
736
671
351
442
162
649
986
584
564
123
142
223
436
59
302
801
22
844
913
405
481
905
404
242
523
265
53
843
673
445
515
29
730
108
108
649
365
902
601
591
41
274
358
828
609
399
158
119
991
968
932
502
343
309
941
928
965
199
624
189
21
764
480
828
809
71
848
842
929
374
389
820
217
483
397
603
674
394
809
705
11
151
942
473
583
881
504
440
660
90
434
375
5
602
429
322
667
955
851
288
751
712
821
324
684
869
951
439
153
475
98
184
457
667
963
738
497
539
136
54
988
653
396
919
804
550
713
815
498
315
381
104
204
110
175
371
78
599
235
731
386
353
623
518
130
666
159
66
868
665
170
210
963
266
261
747
78
303
79
312
158
113
310
74
468
954
817
164
565
932
923
1000
170
478
336
544
47
43
80
23
918
376
135
867
333
648
172
448
233
742
891
679
585
203
990
719
103
722
723
814
566
529
331
779
645
744
378
760
488
547
158
661
500
44
903
95
939
788
478
779
930
266
593
53
474
73
373
610
874
125
265
566
744
1
853
739
437
449
174
359
288
150
458
465
559
70
99
933
325
119
788
422
850
374
423
507
187
830
386
938
826
505
233
272
235
710
646
72
36
505
770
519
382
656
675
537
824
897
751
476
588
944
288
984
708
502
384
955
931
445
551
333
611
479
117
114
125
820
560
116
443
891
427
933
599
573
377
47
762
290
191
234
487
117
293
257
511
102
455
321
167
238
857
926
61
835
634
577
188
603
330
242
53
367
460
605
705
218
505
921
777
848
215
726
802
964
63
721
77
979
60
941
290
616
885
672
15
679
506
674
860
987
4
977
794
425
330
874
699
90
120
784
660
781
479
326
939
466
858
296
790
869
781
234
539
70
175
915
393
827
489
419
477
359
631
388
515
505
982
711
354
476
401
153
292
925
158
369
782
679
248
353
621
275
327
605
170
405
854
205
519
456
652
550
754
618
195
709
622
446
442
248
13
323
887
878
588
18
847
492
808
417
677
962
386
552
747
609
873
235
503
367
704
992
902
506
514
472
800
227
966
199
650
567
632
348
982
837
704
215
712
237
435
175
267
403
257
234
897
365
444
720
281
815
61
265
767
644
674
997
102
402
985
780
556
736
76
401
695
874
483
864
897
899
633
308
882
917
530
624
156
211
702
555
298
124
587
893
421
720
473
433
998
255
84
484
460
95
660
82
641
998
157
521
178
623
782
453
432
711
633
622
391
622
657
213
235
844
487
940
964
607
955
238
555
996
279
338
601
791
943
606
288
817
298
225
860
756
774
215
440
216
391
810
176
367
930
427
220
569
747
800
950
273
700
389
200
902
84
812
1000
567
776
914
451
239
13
17
938
440
370
83
845
588
539
785
252
918
423
937
945
253
962
352
163
1000
804
934
152
447
645
776
551
793
592
40
42
409
401
709
497
468
812
615
65
467
482
741
247
118
236
476
41
778
409
347
650
863
115
797
106
685
130
707
358
760
950
724
66
900
251
907
362
375
671
859
307
976
312
303
643
86
836
6
698
774
374
62
994
448
708
823
168
877
369
149
330
207
330
276
871
161
988
279
9
794
962
35
124
982
67
610
986
382
479
212
542
681
725
189
848
831
623
84
41
371
736
418
22
114
180
690
637
207
880
77
709
48
492
457
226
599
244
648
358
413
876
242
752
71
739
983
708
796
840
433
458
732
294
566
721
735
204
11
134
558
483
909
941
3
475
714
539
939
564
833
90
101
110
690
431
213
177
657
944
315
517
300
867
125
174
580
792
886
909
947
709
436
343
756
37
165
381
92
518
124
984
841
729
790
811
841
236
891
609
28
78
265
465
747
365
939
223
849
266
479
400
731
541
205
947
245
91
28
47
256
700
534
957
697
251
407
571
160
241
474
988
414
312
409
885
773
884
673
881
866
683
310
423
241
133
65
922
169
109
677
32
173
518
316
949
104
529
875
611
25
63
226
478
776
309
612
346
857
626
60
328
188
180
92
656
359
60
991
486
256
414
628
223
289
363
137
197
26
51
772
706
726
237
884
525
115
215
319
18
770
743
454
865
645
833
746
260
588
968
930
147
192
298
935
692
958
885
192
727
522
881
243
347
697
831
465
187
119
944
279
152
618
278
452
554
796
251
935
665
915
820
241
655
892
928
535
804
116
563
453
611
829
879
164
167
6
326
340
706
57
703
517
813
150
344
780
109
640
410
846
618
927
392
385
200
15
494
847
569
212
507
180
485
695
163
547
602
98
732
550
333
925
770
557
860
305
564
419
26
569
750
234
479
172
22
873
864
741
620
620
254
379
519
673
308
961
830
208
817
781
962
371
406
841
523
899
181
19
750
988
980
581
514
702
760
779
605
453
320
788
10
32
234
865
407
276
376
395
914
671
872
467
456
135
673
691
721
737
168
272
840
371
455
736
336
239
922
314
841
556
785
685
357
42
105
708
538
633
584
776
613
337
140
658
49
295
865
24
27
941
454
391
86
599
636
864
87
7
419
902
735
987
215
288
490
981
33
663
652
194
940
225
742
888
979
691
99
742
528
199
789
270
894
604
482
980
545
523
962
374
989
586
337
866
760
556
784
409
365
381
921
969
329
788
459
952
646
721
852
375
90
779
72
855
792
839
453
476
430
207
821
207
204
946
746
823
461
567
810
207
486
831
257
531
519
272
226
15
472
966
70
916
195
175
929
918
387
778
789
335
399
803
781
400
257
959
354
438
203
792
239
931
922
980
873
274
433
322
25
577
275
191
899
976
268
546
935
746
583
155
828
974
314
301
58
664
10
114
344
937
912
613
993
406
701
721
92
916
655
763
827
570
35
451
995
378
349
942
962
916
932
314
892
101
923
753
54
564
289
778
435
129
10
94
652
579
953
47
407
255
195
174
304
14
808
80
891
720
164
696
211
767
860
4
972
102
251
477
702
805
422
810
882
604
109
3
105
613
773
478
788
172
501
726
795
931
896
927
625
190
451
78
486
125
155
436
660
670
237
516
54
764
40
424
721
169
965
81
455
238
326
739
247
888
724
263
525
502
268
849
605
642
536
180
725
276
696
582
338
679
619
350
123
283
117
305
267
549
679
563
170
353
198
687
642
468
226
639
68
485
227
448
740
903
154
72
778
190
432
726
606
323
76
849
973
698
266
969
862
320
145
948
488
867
11
486
741
574
349
294
65
870
329
62
803
349
532
189
435
993
618
270
975
487
614
485
61
131
280
384
868
108
749
20
71
805
272
36
527
475
421
94
186
792
555
2
59
717
708
981
703
693
293
779
794
383
202
785
829
22
928
829
919
30
324
120
906
652
484
647
762
297
24
408
352
695
724
45
135
174
106
808
339
153
12
292
437
427
661
47
539
919
999
10
417
383
345
663
459
953
500
968
794
528
504
446
193
737
168
167
143
635
367
85
622
314
828
863
741
372
803
288
372
509
597
425
276
591
384
910
81
163
133
164
616
776
736
840
772
459
647
539
50
331
417
675
384
668
525
372
686
682
817
461
761
910
681
976
923
395
805
993
657
744
6
341
179
774
131
475
545
688
520
763
302
624
797
542
291
984
95
570
331
167
906
907
989
202
863
835
541
296
719
176
514
514
664
223
948
629
908
577
579
704
162
361
697
75
236
636
367
278
475
387
999
863
178
66
25
217
451
560
570
247
181
385
569
244
931
79
714
335
596
40
16
649
636
514
503
764
479
49
775
40
525
478
713
158
779
435
614
573
741
455
453
594
642
974
737
511
510
903
650
522
807
13
792
189
609
54
834
855
357
400
845
708
259
28
877
175
287
774
623
959
563
187
630
271
647
744
582
794
847
835
626
462
242
733
602
422
522
699
272
412
118
492
352
387
329
803
214
401
341
565
627
676
75
650
791
243
788
217
221
819
233
841
763
326
953
605
113
44
10
548
736
471
998
197
42
827
754
452
948
567
537
721
753
416
804
78
366
195
903
156
477
165
160
641
248
689
863
539
432
757
568
813
606
353
48
609
415
647
903
58
240
778
563
544
769
305
946
413
278
475
525
332
282
108
933
882
389
280
520
530
822
931
475
815
97
232
210
434
750
803
726
940
874
890
583
930
424
186
902
913
938
289
584
549
333
719
517
567
926
993
115
491
669
515
956
220
876
956
639
639
385
320
236
705
187
148
879
831
41
153
78
22
489
142
357
912
989
216
654
735
591
137
744
340
693
196
608
526
939
110
282
349
242
259
238
552
259
55
738
961
358
342
928
482
310
529
666
349
433
560
210
380
919
947
920
326
420
815
64
809
731
335
701
985
612
941
314
818
343
509
590
754
616
963
245
696
755
880
331
378
66
304
790
634
304
330
334
618
893
25
915
704
518
896
148
670
175
427
53
786
553
184
392
572
902
588
708
344
157
749
869
132
170
692
586
193
313
879
870
138
640
202
876
652
9
499
893
866
285
232
531
733
797
153
271
164
739
687
675
248
71
261
445
629
803
8
491
991
241
121
869
639
892
605
207
384
230
360
795
273
494
308
43
233
961
774
408
373
929
414
225
483
771
798
69
288
956
175
450
129
924
27
638
42
42
792
384
662
642
516
130
973
335
261
87
708
344
818
178
94
640
643
457
746
1000
950
51
705
957
602
69
52
796
762
215
19
368
275
11
268
518
402
665
830
343
827
592
231
345
848
534
483
750
254
28
964
965
699
698
669
123
284
472
973
201
694
380
824
996
436
997
244
560
660
984
130
343
597
402
577
392
849
650
413
436
670
951
165
584
864
265
437
665
149
406
555
952
647
921
376
114
685
970
380
775
213
64
477
968
988
6
524
133
110
806
184
16
642
637
587
983
799
154
250
836
660
596
830
138
406
143
597
443
872
948
956
597
576
97
943
446
468
520
407
867
352
523
481
37
284
188
47
244
325
369
108
343
660
357
383
188
473
634
986
945
950
256
725
255
428
568
459
623
31
918
917
228
108
955
581
623
365
947
549
402
932
208
785
993
471
443
777
177
69
273
461
796
884
697
161
401
428
581
463
243
918
513
156
121
352
527
811
56
836
282
155
691
216
221
105
600
248
159
226
387
393
498
436
600
812
970
941
976
283
430
795
479
590
691
934
908
381
818
256
624
625
638
94
42
573
405
460
135
568
717
527
114
122
816
157
851
456
339
689
338
64
430
840
704
957
889
326
838
946
701
718
709
666
830
129
831
140
659
579
135
287
838
232
735
172
566
285
653
787
553
961
628
773
985
927
527
846
829
471
736
625
734
923
130
190
582
172
872
991
478
553
350
635
614
79
7
697
931
725
686
930
13
487
398
164
920
975
69
727
998
623
937
462
793
981
729
260
325
145
669
575
909
101
652
566
611
664
636
346
203
716
419
330
191
662
477
806
54
384
488
686
381
455
467
841
962
89
218
555
243
96
912
411
748
91
183
355
226
374
81
771
292
157
576
161
301
281
100
402
23
184
762
649
440
609
483
616
669
496
266
408
559
566
220
29
990
314
762
447
295
559
614
376
492
195
856
986
218
530
275
359
357
431
715
856
348
498
952
495
78
705
839
92
89
197
144
164
532
501
536
558
949
959
633
328
494
55
893
673
644
227
404
601
806
848
295
584
468
361
591
665
720
933
795
357
28
604
410
198
120
595
888
19
717
382
219
805
644
126
476
549
528
309
160
639
913
728
103
122
87
558
47
675
386
823
721
213
998
481
417
850
551
271
582
381
887
631
943
509
461
289
14
818
739
571
607
887
841
73
171
991
396
128
332
566
264
394
26
970
340
973
985
121
123
707
174
257
112
681
933
413
397
507
250
216
977
658
571
231
448
990
992
423
721
588
513
247
324
257
278
522
661
285
352
487
334
604
663
425
262
105
174
773
852
652
228
928
951
303
261
846
610
341
795
78
5
985
640
131
958
66
802
882
622
547
419
338
835
457
392
176
535
749
78
376
433
589
510
745
790
814
146
262
801
636
76
26
541
198
933
8
868
233
514
972
990
931
249
674
625
75
203
910
814
662
284
51
468
513
640
476
717
815
71
683
913
176
376
963
951
490
217
183
201
880
15
655
924
13
814
44
509
352
843
987
268
272
722
419
772
527
862
610
967
238
633
553
334
451
307
687
417
309
607
847
940
50
932
23
524
388
993
742
791
287
612
828
214
811
926
903
655
479
83
226
954
556
803
376
271
788
836
826
167
341
440
713
539
165
505
934
625
532
815
247
227
256
271
258
220
993
585
976
188
41
89
158
692
280
796
778
331
241
805
803
200
810
464
896
814
734
436
796
838
921
962
915
224
529
191
107
466
941
361
673
714
47
15
398
464
690
193
830
337
740
716
69
273
32
269
38
76
308
969
605
844
390
509
922
295
44
761
61
342
362
943
341
611
71
56
766
737
831
317
615
411
486
757
569
130
214
971
692
522
693
242
230
943
753
929
460
753
427
38
759
315
978
360
647
305
263
435
815
337
748
850
40
296
597
81
471
983
508
150
952
874
404
868
950
842
660
334
172
662
262
652
140
26
197
538
831
532
431
618
995
866
979
709
909
932
2
333
136
244
312
32
330
262
376
782
239
700
719
974
850
43
608
957
42
653
45
112
209
853
375
782
65
366
290
164
239
278
587
428
344
506
822
923
888
365
919
330
803
426
854
985
377
318
778
439
56
514
338
482
935
414
469
526
749
245
668
216
825
394
591
583
766
777
833
898
618
799
929
609
867
218
922
386
916
11
350
363
614
925
112
127
996
958
493
844
656
443
557
213
61
758
253
590
689
958
793
730
70
754
343
61
708
361
578
322
357
701
444
681
350
305
301
162
476
92
719
334
430
849
351
725
3
850
703
349
987
576
100
76
236
879
849
307
445
268
389
569
5
221
240
186
689
534
659
147
55
796
242
666
171
973
130
666
692
968
113
644
351
765
660
916
673
424
844
247
73
775
196
274
526
107
749
909
700
559
941
150
765
186
562
301
92
864
649
665
716
311
88
170
753
498
683
231
891
627
642
393
749
685
730
953
136
299
832
781
194
250
327
51
999
528
421
452
427
277
583
692
32
299
314
816
179
70
738
941
976
348
931
464
328
561
476
744
46
93
474
528
72
507
101
107
757
501
879
304
600
95
6
922
27
151
454
188
597
824
56
92
474
961
480
225
151
773
789
895
153
337
301
831
924
615
576
758
163
707
656
477
629
996
142
866
844
708
290
390
180
139
77
284
520
489
101
580
80
788
254
519
985
885
352
726
879
853
272
688
208
437
707
741
789
374
344
737
943
512
123
52
786
658
257
363
216
993
854
909
783
716
305
587
889
295
100
256
701
348
342
136
763
682
61
985
525
504
341
75
919
126
416
610
674
769
116
349
263
209
504
665
271
104
87
175
476
782
722
380
139
183
249
452
830
395
898
433
611
964
722
618
572
715
688
830
482
339
540
625
841
437
234
206
684
979
568
963
313
415
617
118
526
752
693
909
47
6
888
106
565
306
678
424
223
864
665
589
451
692
337
369
737
675
595
894
330
144
909
980
867
566
183
962
628
370
787
763
447
181
772
539
303
968
990
244
281
661
669
907
895
844
33
242
728
14
722
433
966
719
72
604
694
618
831
525
741
123
484
561
457
841
191
751
57
451
270
142
60
16
267
216
929
981
928
318
207
266
788
458
337
937
689
806
884
905
257
445
40
980
255
702
157
416
775
456
533
732
446
370
849
241
167
899
440
195
395
271
64
861
712
378
961
188
173
648
752
919
966
541
179
150
14
244
781
366
473
529
322
935
509
488
227
871
361
60
310
460
433
811
820
978
118
465
170
311
85
30
781
759
38
211
139
682
296
968
478
938
135
725
563
252
494
737
628
741
523
556
893
867
470
366
1
936
542
197
386
140
747
689
816
828
152
91
325
328
684
683
310
182
350
642
851
107
723
659
166
313
654
276
734
105
411
16
770
830
893
848
668
297
104
444
503
788
852
954
917
646
483
788
513
212
521
940
401
582
295
974
694
247
974
667
546
191
945
681
810
421
155
328
491
237
842
691
983
758
75
866
469
360
650
82
997
719
205
803
459
77
825
695
127
231
75
515
435
454
92
554
448
272
351
274
785
541
752
157
835
761
913
589
753
960
971
822
103
733
692
656
962
239
431
507
6
52
308
969
368
763
6
784
40
135
749
392
222
458
340
889
268
430
639
232
864
565
482
33
609
638
841
132
447
121
976
385
318
925
435
826
901
12
31
411
600
591
319
46
747
704
697
507
563
954
977
156
565
26
156
69
982
434
161
288
218
610
554
465
562
65
520
51
154
849
995
555
676
934
440
101
372
501
608
697
767
281
620
130
885
284
819
420
886
247
144
70
751
87
235
172
66
513
79
564
28
657
769
842
484
314
863
13
206
873
921
962
631
565
3
730
969
974
334
773
936
93
847
26
360
356
47
585
556
212
471
261
687
790
64
98
288
119
914
166
743
191
157
615
808
869
321
992
177
286
24
323
699
895
730
279
104
803
220
64
971
333
546
297
276
48
485
276
26
619
953
472
398
965
378
29
292
114
803
322
432
64
352
330
957
739
733
734
951
823
677
119
532
847
540
612
894
413
833
645
195
845
84
200
295
888
298
134
111
280
230
639
820
173
844
930
202
390
611
553
188
482
765
534
61
354
222
711
823
28
654
223
977
737
110
78
300
133
649
161
271
855
705
789
435
94
268
194
400
55
520
862
83
441
254
739
543
155
285
691
997
431
46
462
619
524
746
627
310
892
796
643
943
535
675
191
481
789
62
438
989
395
845
722
795
125
570
432
951
581
998
518
728
34
704
182
65
364
70
752
785
173
600
659
914
175
202
741
621
803
6
782
140
788
286
346
534
139
286
448
305
561
95
558
677
854
227
756
837
232
238
585
541
846
532
335
272
991
482
971
571
624
155
962
255
842
192
560
977
937
863
886
997
458
926
357
80
498
668
544
159
58
436
578
778
931
37
584
352
8
615
444
956
284
12
384
727
155
141
521
923
743
636
479
354
134
848
663
222
392
336
580
343
115
92
838
374
149
151
113
926
757
629
414
401
222
953
441
944
334
775
687
208
720
55
214
455
281
875
710
159
261
846
503
417
656
334
722
414
708
361
659
650
234
745
727
885
384
909
65
544
248
883
24
866
387
175
207
203
994
570
742
691
864
426
743
3
799
694
676
981
356
725
497
750
91
904
972
337
585
290
543
915
552
733
480
539
291
394
824
635
597
189
797
588
972
460
957
448
671
71
327
191
666
229
177
969
92
531
890
487
113
158
573
960
440
655
698
136
920
443
52
497
718
84
730
64
602
299
711
206
790
937
823
477
588
407
529
759
811
560
20
961
583
663
573
90
663
876
978
750
881
625
124
56
615
340
492
495
497
306
416
466
704
793
426
129
235
203
906
719
581
704
609
633
48
709
244
490
790
600
501
813
309
303
387
171
748
676
662
402
859
162
515
30
883
880
347
77
936
86
681
295
699
974
762
222
353
890
377
615
723
343
787
512
544
643
429
606
609
586
223
665
328
415
912
446
850
136
846
928
521
413
997
715
869
448
844
140
743
659
912
950
456
518
415
446
45
597
445
603
794
741
586
3
214
283
661
387
572
403
562
252
870
46
760
187
910
298
138
593
715
762
250
13
88
261
987
540
563
150
865
695
329
628
879
695
983
706
900
281
100
886
115
119
706
211
890
336
699
52
742
928
132
910
811
610
91
523
345
205
554
802
222
775
244
449
463
556
980
648
32
190
451
863
936
884
641
618
814
903
376
120
729
231
572
705
843
343
816
396
37
750
855
312
275
413
401
265
720
156
418
646
165
939
751
636
366
224
465
823
218
679
793
565
545
177
937
822
483
358
258
699
31
41
599
687
385
425
566
393
75
299
606
616
793
500
620
750
995
423
692
841
39
706
214
120
665
129
314
430
66
356
72
812
684
416
382
417
129
687
738
50
279
743
431
902
732
617
811
440
248
911
359
13
716
715
263
459
497
484
75
872
685
846
831
755
954
840
686
969
180
205
720
250
933
175
90
578
303
689
96
345
233
45
62
117
685
816
128
722
532
274
234
592
998
649
542
526
868
323
548
525
425
433
946
949
271
436
69
1000
770
899
407
467
827
150
254
734
127
446
10
279
750
15
59
310
293
655
404
681
238
578
475
970
337
838
557
438
182
989
378
609
18
593
217
376
17
804
790
863
963
559
822
755
273
804
922
449
791
824
829
168
627
929
615
133
598
718
726
993
497
652
31
980
495
912
188
666
494
373
717
784
105
64
139
299
269
668
411
813
211
446
697
408
562
479
179
273
973
271
232
767
508
562
776
127
394
669
47
670
491
795
325
173
949
526
401
107
101
164
682
513
576
643
870
632
3
516
104
823
429
912
285
937
753
406
79
53
84
481
733
411
874
622
430
466
125
101
358
186
738
224
66
144
276
121
959
459
60
175
977
375
506
838
605
101
42
889
353
551
799
150
781
815
484
301
931
472
493
732
778
381
401
259
930
210
372
182
332
734
953
349
201
924
944
847
741
918
734
463
442
258
573
288
959
166
727
714
591
240
389
591
389
645
470
504
776
806
162
973
379
609
233
852
417
350
551
407
652
10
268
296
349
953
418
204
157
815
417
959
92
171
124
769
83
554
637
617
606
536
988
992
24
873
247
830
167
165
327
971
527
105
941
497
222
115
767
26
524
138
861
393
322
383
729
223
369
84
308
528
519
700
292
847
489
539
853
419
821
498
836
544
866
430
931
593
580
717
154
87
856
743
208
910
921
325
955
963
67
629
259
537
577
711
932
253
304
678
384
658
740
334
825
505
801
362
586
247
800
285
149
554
234
930
32
485
77
643
517
499
263
268
536
666
903
780
738
294
573
496
867
653
696
6
102
667
670
317
940
235
845
194
542
304
912
399
179
956
564
290
592
530
507
293
610
253
45
837
320
927
482
672
488
982
543
932
651
601
848
900
501
670
245
225
780
58
453
204
853
59
44
894
568
889
265
973
780
802
575
711
130
731
68
942
307
363
134
603
11
199
816
301
275
473
331
360
649
758
117
968
960
717
604
374
39
733
616
576
829
83
952
555
773
919
228
928
224
558
491
828
893
495
490
937
44
101
714
843
210
201
502
333
699
577
556
797
50
989
206
643
921
482
624
523
564
590
979
220
195
542
223
216
53
729
795
349
895
515
21
471
984
914
428
675
400
791
474
501
601
40
446
503
761
594
387
698
336
233
977
717
697
906
197
920
418
666
490
349
1000
409
868
155
384
286
74
57
618
56
495
451
387
674
962
48
994
77
990
268
504
483
275
202
447
524
453
625
453
164
244
413
642
680
99
717
403
949
371
440
469
901
857
861
798
274
295
752
861
748
992
951
372
124
338
176
362
464
377
788
784
991
960
330
494
152
266
943
546
406
632
140
229
221
698
53
166
259
855
941
101
934
869
677
693
350
304
947
781
144
118
123
73
891
350
94
149
553
358
883
15
913
449
536
165
63
95
571
262
778
116
313
102
67
369
506
477
260
497
956
928
748
257
348
138
902
764
50
895
733
784
408
145
605
822
27
635
662
363
550
44
650
68
710
311
536
119
815
54
621
192
362
627
887
727
167
324
926
259
291
746
143
604
4
88
882
551
244
422
731
594
326
652
562
918
138
879
783
483
717
382
871
625
879
267
507
980
515
128
541
930
304
720
555
12
829
746
31
873
502
328
991
456
302
655
505
40
37
571
656
667
741
604
371
257
853
24
52
408
40
68
75
479
864
366
39
63
16
956
115
352
512
14
961
233
60
551
469
176
803
916
1
74
757
861
913
285
599
318
875
11
851
808
918
49
178
543
183
662
219
929
94
10
338
92
995
119
730
512
386
883
555
611
515
915
157
350
474
407
982
536
901
315
501
526
90
289
285
450
568
789
419
926
211
723
605
463
565
766
600
382
322
237
161
174
846
59
275
635
219
835
253
994
535
544
229
542
64
687
697
900
494
980
977
202
621
854
959
912
798
73
981
921
918
782
504
849
937
146
71
204
761
554
127
153
823
35
448
184
825
142
297
854
947
65
932
182
267
139
770
945
265
232
323
307
86
727
2
755
629
938
51
281
659
838
120
88
866
909
485
914
192
789
484
194
834
144
553
903
15
832
96
882
13
24
576
879
946
401
384
297
505
930
450
884
179
13
133
198
482
990
568
698
388
75
570
757
443
818
144
692
29
82
885
195
854
359
810
136
23
952
704
810
995
203
654
137
292
467
279
179
110
975
72
631
850
85
420
606
178
674
94
107
407
582
439
105
899
74
72
984
688
294
615
470
719
532
879
825
939
915
972
233
980
850
998
805
305
114
355
565
526
16
177
117
53
448
117
416
346
972
507
234
849
312
892
443
87
742
96
208
526
910
258
539
518
561
722
433
78
497
294
995
284
842
107
536
816
361
297
608
517
121
716
344
894
307
194
290
149
315
211
79
683
608
397
967
10
933
978
221
670
679
146
819
30
82
339
712
860
953
582
180
139
396
376
425
886
701
95
620
694
247
490
74
270
777
699
41
513
838
100
993
564
545
462
808
849
72
116
458
303
447
255
239
887
272
100
478
1
984
346
993
596
150
233
228
631
65
602
160
13
616
509
556
303
991
328
100
304
293
779
238
90
542
995
340
165
868
554
900
224
916
401
74
414
617
706
791
97
507
10
60
842
739
457
830
800
753
507
986
664
348
312
601
129
551
827
580
146
242
820
225
289
977
185
34
243
820
312
283
744
293
873
531
334
737
9
214
909
479
839
934
372
193
147
864
663
790
333
935
52
936
11
124
874
65
114
209
808
370
25
806
394
774
20
383
737
362
290
211
240
56
887
870
774
622
214
52
909
217
112
852
699
767
132
650
40
450
369
995
816
425
59
599
874
734
246
663
377
7
969
301
229
184
827
702
88
995
246
75
930
315
485
92
275
872
201
739
925
969
411
11
554
43
801
854
520
893
639
118
66
377
1000
60
454
204
599
105
630
221
326
170
771
235
455
818
381
4
606
951
689
483
756
492
737
791
981
771
928
676
167
911
765
408
610
534
201
170
301
544
290
989
693
578
833
178
913
938
316
73
724
473
701
570
994
950
607
602
108
871
963
224
511
592
494
434
541
860
285
174
832
552
249
250
790
487
509
40
99
693
611
943
783
363
986
482
59
76
282
877
139
550
15
656
144
306
493
607
536
142
114
924
792
263
961
947
569
209
60
293
306
502
818
472
977
46
914
340
752
889
352
847
407
897
498
583
670
265
634
568
83
566
8
567
622
186
368
999
42
618
744
126
842
48
546
810
832
66
147
586
506
146
734
176
803
744
610
870
403
462
84
360
397
778
765
766
6
236
382
530
82
836
199
832
235
623
744
940
816
76
826
683
414
989
764
820
194
983
338
646
201
635
210
604
666
504
480
23
511
9
600
352
474
164
73
445
694
717
241
473
208
91
15
66
492
853
547
128
109
123
708
572
548
484
747
914
536
422
612
255
485
316
288
695
218
271
900
630
813
858
529
693
207
984
398
342
205
615
559
207
660
99
296
352
890
138
205
567
855
283
302
622
202
955
592
190
83
622
233
818
534
704
803
849
303
228
214
741
236
3
491
520
718
331
978
491
215
871
533
421
655
285
938
596
257
743
25
100
402
170
24
594
349
384
241
702
884
901
455
811
504
242
354
750
344
35
937
314
885
63
26
84
399
696
975
293
213
794
180
800
131
286
252
339
763
88
547
313
107
927
304
376
440
966
820
898
465
784
920
226
725
425
491
335
464
721
999
43
496
45
709
511
148
945
806
109
1
908
733
94
8
576
832
731
501
364
825
648
797
314
738
225
350
454
654
791
885
631
50
219
539
38
545
279
803
160
609
782
965
929
155
98
865
210
939
95
944
585
418
967
24
586
25
662
749
157
824
827
340
130
185
309
179
946
376
207
721
666
5
441
441
571
801
563
818
280
542
307
848
395
858
966
227
94
240
259
120
13
803
744
394
977
294
243
303
851
369
939
857
857
386
10
560
177
828
707
727
574
23
781
380
76
963
4
557
427
925
368
953
191
45
187
984
861
173
969
740
274
144
389
792
969
68
146
502
856
344
772
291
714
919
704
321
581
708
43
165
75
208
484
362
14
73
818
160
524
836
276
412
952
995
720
288
512
427
373
459
574
447
317
411
899
866
487
831
939
77
259
376
492
556
9
665
674
134
230
76
127
87
869
725
867
368
582
90
961
276
475
839
493
512
763
800
911
787
464
474
904
157
894
116
405
784
264
225
201
112
118
224
878
333
699
218
523
578
588
978
683
496
126
725
563
725
186
854
352
341
841
486
863
490
364
593
371
308
751
524
677
692
701
929
902
653
531
454
477
792
47
66
129
911
783
584
365
870
360
764
150
608
902
296
985
667
617
217
589
648
666
501
702
768
385
88
361
117
776
170
114
244
945
356
261
427
823
224
196
365
55
875
296
38
451
297
630
186
737
783
958
186
665
137
108
103
687
153
832
352
560
671
677
712
180
540
243
404
931
4
416
549
578
309
854
639
519
866
996
539
803
893
390
168
869
281
928
244
401
378
921
359
54
473
548
245
38
52
372
289
735
287
36
218
564
823
195
423
310
635
27
569
992
636
364
963
135
740
611
682
17
302
141
581
47
203
770
128
927
367
265
495
695
154
556
407
26
924
502
94
405
9
563
65
939
512
741
562
564
607
486
261
394
493
34
220
771
742
832
117
358
555
289
533
245
360
64
435
646
238
517
994
209
943
745
613
341
613
819
339
265
849
479
840
672
535
538
806
980
618
692
901
180
84
252
390
173
538
567
181
318
116
534
293
649
955
670
691
815
44
646
50
367
133
79
205
447
267
615
12
267
658
58
835
55
869
333
157
264
663
589
628
944
507
648
433
133
400
290
22
3
606
580
94
284
918
553
232
187
272
119
721
648
878
918
908
194
575
268
913
186
758
9
645
475
67
254
822
741
991
571
168
931
715
93
12
223
780
416
292
903
620
921
348
382
629
313
970
337
167
783
854
630
850
151
23
209
522
791
770
678
569
890
382
610
589
837
247
952
998
138
919
65
851
278
401
47
995
372
202
984
717
281
669
693
179
127
765
332
288
741
689
977
122
692
708
900
664
950
146
809
389
118
716
773
219
458
304
868
438
583
844
879
450
778
176
520
658
427
618
714
330
875
531
448
58
395
323
610
279
619
213
967
389
897
521
175
181
612
460
287
692
328
164
738
49
81
194
190
578
759
861
948
279
751
481
874
724
539
144
859
599
883
620
945
384
624
814
137
132
891
572
793
908
659
687
231
203
228
683
852
568
139
338
651
795
462
900
467
176
192
670
680
791
700
955
372
297
770
378
161
401
825
208
996
54
323
663
218
415
174
114
117
803
237
752
5
182
628
517
566
200
603
84
874
453
253
232
997
419
97
214
556
483
941
619
950
553
45
794
223
48
719
106
692
462
961
192
548
253
651
873
585
586
104
601
124
290
508
144
958
493
870
699
853
536
637
806
731
186
55
208
171
631
699
301
269
433
301
925
222
441
205
9
216
640
266
67
343
41
27
567
286
44
328
998
477
112
302
839
259
233
865
680
368
406
416
498
662
275
421
429
665
168
988
414
879
964
300
806
286
655
26
314
675
967
395
724
665
152
689
422
379
871
297
108
731
134
326
30
197
425
997
681
755
454
714
214
421
472
711
720
405
717
683
146
491
355
647
853
636
226
539
713
177
817
765
237
273
147
972
394
346
656
811
694
407
787
367
614
66
658
200
638
954
127
702
19
36
585
531
878
7
15
450
389
566
225
799
628
829
644
168
132
617
781
590
298
610
231
691
592
618
122
821
913
347
27
117
594
58
651
826
230
468
60
1
964
102
831
824
889
44
251
435
962
693
619
94
184
728
796
941
841
906
336
381
273
764
973
355
988
519
745
362
928
692
743
122
358
64
351
193
143
597
815
684
156
817
196
464
183
40
50
881
962
490
669
95
917
8
369
547
783
604
92
985
500
511
532
721
714
779
121
458
752
690
461
153
168
429
206
805
807
537
982
27
904
607
651
486
866
610
137
81
280
983
33
773
138
335
466
548
460
196
999
904
294
773
893
587
518
58
719
34
32
961
116
147
659
373
502
544
560
186
648
421
1
326
355
501
111
815
898
325
637
710
505
325
784
532
943
679
922
457
137
965
334
105
879
9
204
234
892
125
707
46
896
158
447
65
880
357
426
768
480
115
456
240
221
52
148
112
376
748
666
989
406
651
981
352
212
375
691
664
974
606
383
46
929
325
99
405
290
910
741
344
408
941
121
553
431
234
948
607
939
680
243
268
469
979
559
471
435
250
892
115
643
787
376
698
521
954
679
590
217
322
522
443
904
664
896
840
24
362
351
786
664
105
227
45
978
504
768
662
360
378
891
220
62
45
793
524
101
886
650
412
572
817
459
386
964
100
419
538
633
50
362
77
422
841
409
346
252
548
451
847
660
992
25
243
435
741
899
664
928
831
972
978
132
396
122
834
337
395
275
409
33
64
285
797
720
568
171
858
480
533
885
218
475
807
78
775
20
864
225
733
523
678
108
717
367
802
877
956
775
646
808
864
787
599
460
633
757
773
118
571
186
575
315
28
286
269
723
689
408
946
908
925
339
54
276
649
528
736
43
849
514
772
191
537
141
808
225
376
724
925
960
661
931
327
739
633
21
52
212
337
37
206
295
371
690
132
960
892
979
324
307
207
16
640
744
111
168
578
147
900
355
918
640
631
275
67
946
792
424
806
324
3
965
958
791
747
932
695
656
429
777
830
383
236
959
432
498
394
167
562
492
395
730
748
713
696
985
39
801
205
668
152
549
600
891
262
957
128
883
440
885
119
509
627
922
830
478
269
18
644
305
455
953
848
327
454
977
423
488
46
783
312
219
931
539
622
425
830
856
94
505
542
443
958
374
408
676
985
648
86
465
142
515
524
617
772
322
300
353
618
585
287
769
332
950
700
797
346
609
177
657
89
827
461
909
596
514
652
906
467
231
750
916
19
639
383
193
193
143
207
15
464
407
451
71
561
505
480
615
277
685
26
480
26
126
2
397
94
600
342
45
736
659
433
930
334
826
25
487
875
270
441
770
905
622
60
722
913
915
750
274
855
119
959
494
142
348
625
563
943
661
933
611
111
277
235
368
392
177
99
120
807
289
548
687
292
892
51
12
715
462
699
481
398
871
323
269
109
792
7
859
321
171
561
364
189
830
58
458
327
638
437
509
931
188
535
976
260
587
626
274
754
791
720
63
309
911
381
372
386
29
846
37
609
381
515
719
517
205
723
113
921
150
835
83
123
918
308
121
876
733
341
921
564
275
157
912
522
997
718
215
825
85
926
907
154
901
949
408
506
418
345
497
684
39
79
764
428
187
354
257
20
231
441
733
978
633
303
171
201
688
890
157
533
864
421
337
278
532
850
390
604
853
958
846
175
668
223
683
539
515
678
801
23
306
458
389
915
787
647
683
695
621
332
849
972
827
463
514
545
351
254
14
716
751
380
533
582
326
121
161
529
535
987
334
560
220
47
258
428
984
371
680
735
27
511
835
320
918
941
443
273
46
711
427
867
954
342
384
542
379
200
927
830
544
121
726
780
229
81
431
997
155
96
725
884
503
323
399
74
740
570
704
293
492
998
237
127
888
856
248
218
660
494
597
469
308
744
519
702
791
988
10
74
532
880
907
240
32
755
666
909
982
195
461
966
593
92
424
777
805
839
813
629
120
916
390
546
111
273
558
844
22
343
645
873
510
466
280
381
255
784
949
783
96
351
708
444
357
378
502
727
272
982
674
215
721
793
110
968
54
65
867
119
407
708
317
420
762
779
560
570
991
528
345
297
225
76
784
183
235
120
928
190
911
879
651
674
580
639
364
427
615
851
785
966
757
728
374
841
607
668
61
205
6
654
589
294
379
966
119
703
699
174
764
594
388
390
353
28
367
186
38
635
442
422
339
743
416
464
820
909
618
913
893
516
34
30
149
723
859
489
245
606
79
956
592
756
651
269
1
953
950
661
20
804
411
561
877
360
721
989
851
840
490
461
403
517
50
625
577
742
939
540
50
836
646
656
666
298
421
36
489
351
289
317
173
375
922
230
950
171
706
226
639
332
153
932
865
207
787
667
105
72
787
255
277
188
939
705
333
319
929
95
708
179
583
207
561
4
458
2
438
106
66
44
367
862
138
361
424
18
509
44
494
611
647
69
289
78
358
490
688
311
908
112
106
522
666
216
918
791
380
749
933
67
361
590
521
230
190
197
290
518
29
956
135
282
262
22
64
551
987
321
489
330
830
631
514
917
650
338
379
761
982
573
366
558
472
888
418
352
131
550
179
359
983
823
396
144
553
324
457
542
685
645
312
413
397
950
206
931
823
202
444
597
794
993
890
577
315
676
1
304
976
685
2
478
349
431
220
749
545
163
701
395
413
513
972
248
280
241
219
985
793
857
212
620
130
380
8
751
795
499
868
616
298
776
815
547
214
344
976
746
544
762
163
620
820
296
172
95
105
926
922
426
886
792
846
20
892
637
952
726
15
44
560
818
840
895
5
674
801
549
555
737
561
691
349
907
77
651
427
950
697
293
830
859
786
220
300
341
624
140
316
804
732
740
99
230
381
265
732
352
733
366
719
388
994
426
159
391
957
735
213
969
568
372
676
716
439
604
296
208
807
920
932
830
69
591
773
9
848
755
628
660
561
596
701
780
550
158
391
163
171
673
387
134
653
57
724
85
189
436
542
311
420
93
3
331
469
272
173
442
683
626
733
711
525
929
54
19
427
856
499
31
948
273
845
172
305
476
337
782
180
266
207
634
733
552
482
902
907
464
476
490
457
529
690
357
583
593
746
91
733
568
591
537
870
991
432
727
527
616
797
681
2
978
648
941
365
898
702
843
345
453
986
582
731
754
185
136
678
262
514
968
170
993
692
215
956
148
104
774
469
192
372
282
579
321
381
504
581
625
253
53
439
962
914
658
176
724
645
469
257
205
459
966
957
278
245
107
992
397
340
292
160
772
630
543
325
686
303
84
849
551
117
158
501
250
422
466
930
742
173
119
45
692
895
350
10
87
864
524
117
434
803
182
505
145
10
952
531
135
169
164
637
511
44
906
705
445
901
100
219
991
747
881
62
644
447
193
362
905
342
60
652
969
248
433
515
948
637
854
14
677
314
431
467
283
184
802
543
142
513
802
218
779
657
541
896
542
404
477
849
600
905
852
189
941
690
547
805
537
390
23
12
801
627
505
216
776
965
997
536
238
974
998
163
38
201
68
223
575
311
456
29
234
717
97
919
980
806
201
329
103
222
488
332
247
774
923
670
467
225
422
192
27
593
599
722
66
627
73
578
47
823
257
363
118
635
812
216
127
605
172
368
53
723
614
741
44
673
369
321
82
591
181
211
539
553
538
603
532
324
503
371
27
801
742
639
126
211
846
471
799
334
502
773
628
940
418
615
780
215
155
423
531
107
186
945
131
455
570
420
715
263
590
166
254
661
607
654
251
953
143
176
2
638
917
451
772
446
150
830
133
242
954
294
93
116
43
108
326
95
312
807
7
694
59
194
292
975
747
133
418
824
258
254
801
977
500
107
259
651
119
916
652
765
782
865
854
392
194
730
907
507
540
787
657
85
569
127
930
314
856
912
541
999
115
645
33
280
605
229
63
378
762
443
782
443
227
481
385
513
299
367
258
246
730
377
770
315
421
96
838
352
285
361
835
871
23
137
274
863
28
334
981
674
978
673
142
302
929
958
682
500
881
559
951
927
853
460
552
116
501
967
469
215
150
65
372
304
936
449
53
584
426
450
503
879
694
451
56
713
319
879
347
688
205
540
590
7
419
898
807
767
487
854
212
73
688
745
895
140
969
565
321
259
989
860
936
945
699
356
331
613
592
149
27
862
424
191
901
824
774
893
687
34
294
896
796
997
862
440
872
952
158
319
165
320
351
90
775
2
711
91
282
978
943
797
92
635
962
252
71
882
638
603
688
364
777
272
945
51
219
931
813
49
473
222
772
726
766
148
325
175
708
131
15
549
47
26
577
77
151
781
344
387
902
8
893
328
681
478
277
646
995
418
821
733
83
552
649
129
527
13
576
652
501
618
951
804
791
514
361
596
123
856
855
36
674
21
476
311
839
839
462
133
473
447
409
800
865
682
85
277
628
375
320
2
560
509
608
182
255
970
603
67
943
540
726
47
571
856
442
456
626
289
621
656
589
88
556
299
170
664
869
683
693
623
527
741
88
966
626
557
945
930
428
214
1000
85
404
453
260
638
631
858
655
385
984
250
788
359
15
536
833
64
255
530
134
86
966
151
347
7
47
960
271
815
860
236
643
391
255
631
257
272
959
3
731
577
790
188
129
905
878
325
440
45
178
838
581
522
75
346
234
399
846
557
283
227
9
691
69
715
400
93
969
554
918
462
47
735
439
582
646
926
380
498
835
695
719
869
542
855
88
590
102
804
703
866
648
504
501
623
461
627
809
519
987
533
323
833
639
912
901
226
950
350
962
657
885
618
824
793
325
167
400
865
843
174
37
237
884
521
167
944
376
219
643
44
630
133
310
935
82
369
364
704
85
260
577
180
496
760
265
596
210
936
198
685
206
395
282
570
841
743
975
61
382
562
842
797
742
10
580
248
444
845
138
731
641
577
254
476
870
496
860
244
865
525
324
169
374
189
415
294
434
524
217
759
945
418
965
683
730
669
899
607
482
76
812
753
101
977
906
487
22
961
935
91
12
923
402
354
792
249
734
588
620
661
941
330
568
193
287
421
865
828
844
143
95
567
654
798
455
78
387
449
543
635
43
541
353
732
212
764
240
646
889
853
634
194
636
952
181
146
131
830
820
33
799
478
25
611
262
573
53
858
807
890
606
172
931
963
733
406
306
229
158
464
158
438
469
461
168
318
772
851
467
365
468
520
205
163
805
561
475
814
714
337
83
890
238
490
749
845
562
743
884
946
220
704
975
614
606
396
964
519
281
900
748
903
922
334
53
376
958
350
520
882
77
501
759
582
828
97
524
212
484
623
918
806
164
425
710
797
997
82
446
173
735
863
1000
780
835
686
635
860
453
260
415
613
214
482
57
911
887
677
872
283
292
996
519
954
862
138
697
18
296
554
715
800
636
498
169
76
936
575
538
116
397
947
628
419
482
982
192
635
67
924
961
383
103
123
562
608
647
457
509
654
340
850
488
460
599
204
703
153
831
646
894
847
992
705
973
633
632
948
929
582
418
622
733
105
772
63
559
129
889
990
492
396
884
312
280
627
239
735
402
437
44
308
874
650
734
991
771
108
165
505
390
155
904
983
365
720
563
416
778
334
820
487
540
472
575
139
840
320
310
154
501
459
310
98
438
956
860
196
245
69
935
127
122
86
167
223
987
840
70
307
619
69
608
232
123
126
189
187
835
486
92
41
15
139
120
292
329
228
49
663
180
208
11
66
398
441
533
401
648
326
381
632
231
21
683
693
565
337
115
22
785
624
27
955
330
322
516
774
323
395
377
956
826
34
780
29
779
875
284
501
530
452
500
541
389
787
313
416
576
794
77
225
247
670
610
135
42
563
133
146
723
553
509
387
44
473
303
103
927
138
161
761
416
316
17
180
615
196
427
168
25
120
125
935
249
127
525
466
47
166
493
97
111
901
158
780
720
714
925
934
660
827
136
262
402
499
25
681
547
867
694
334
974
345
862
660
978
440
30
682
887
467
552
10
340
937
779
495
410
308
128
154
264
395
418
754
870
977
289
399
563
36
843
567
951
631
924
323
710
630
602
824
335
374
491
835
781
900
520
696
246
520
637
54
52
403
718
747
695
284
666
403
656
616
243
675
481
243
717
567
996
173
815
949
237
148
759
197
825
458
425
874
91
923
779
515
173
23
762
838
719
920
774
216
550
521
724
774
864
775
393
306
100
131
488
91
606
445
370
761
627
660
882
617
940
251
90
182
674
799
54
296
460
15
907
802
78
228
656
677
205
624
82
523
678
528
62
463
961
597
447
850
102
116
324
630
576
493
169
893
807
646
887
895
83
238
213
806
800
594
274
548
688
711
376
328
716
984
247
920
914
150
11
305
173
450
178
4
468
245
783
354
588
108
607
996
612
961
101
44
878
931
247
788
108
456
62
255
715
594
905
665
18
652
31
602
269
987
66
739
931
308
229
67
609
862
126
883
400
665
922
242
194
314
513
187
650
2
96
818
123
55
189
206
853
686
715
213
72
696
257
513
525
537
935
504
97
473
683
342
839
606
877
25
728
153
346
318
912
690
842
306
22
51
927
566
368
158
55
226
512
383
365
705
709
937
319
539
222
398
860
497
331
726
195
157
173
11
686
180
191
780
551
843
60
878
268
741
471
834
618
203
16
134
297
661
747
16
897
118
658
243
841
893
502
810
546
27
815
670
711
98
4
423
90
684
640
325
561
406
871
123
594
297
7
6
459
218
856
379
636
193
392
266
925
825
667
900
712
395
648
448
665
865
871
893
927
768
349
808
497
876
170
116
88
619
644
970
202
473
614
580
561
892
785
132
293
927
548
958
507
373
749
767
932
138
342
49
361
522
646
744
497
309
200
871
664
846
829
104
524
807
612
220
613
952
879
919
15
1000
237
773
943
672
902
971
360
84
274
68
2
909
798
185
349
170
617
949
139
91
444
34
17
147
358
294
757
389
958
371
316
97
414
124
653
85
466
392
838
277
361
415
506
732
59
695
93
936
742
202
627
14
856
629
73
498
426
791
334
432
358
406
89
859
812
192
556
230
500
669
120
840
913
67
552
188
110
482
163
54
648
804
834
188
661
939
328
704
867
544
670
693
525
868
656
91
932
221
778
538
135
315
901
845
882
983
77
664
741
777
773
148
506
545
598
712
678
391
367
472
856
324
933
600
327
532
781
601
11
427
823
492
195
531
143
954
142
836
757
794
788
465
553
480
173
361
689
76
203
232
671
645
596
194
238
68
611
362
934
282
236
162
985
119
67
280
647
318
16
979
736
758
312
964
441
655
33
119
848
275
499
217
820
717
476
105
4
430
15
12
801
441
209
322
26
722
830
598
882
720
56
672
609
836
41
352
814
581
86
662
84
174
549
556
938
610
467
744
562
612
26
582
51
388
667
12
87
880
618
166
57
972
69
555
656
207
49
753
884
677
294
83
216
120
48
105
402
689
783
635
8
558
288
625
345
265
443
454
863
677
250
123
449
561
399
371
317
1
692
963
326
329
167
273
667
809
654
805
783
34
779
484
313
913
167
399
599
130
683
148
18
199
96
138
977
542
452
941
931
604
793
329
176
600
605
697
509
399
481
380
53
963
106
782
677
940
553
373
499
290
316
287
855
266
205
725
25
687
474
387
712
206
79
881
961
187
991
438
758
875
853
275
29
800
114
651
136
707
927
985
262
885
762
413
237
430
669
809
522
877
583
604
983
607
861
712
90
629
528
477
914
660
292
852
79
895
506
942
420
507
666
640
647
717
906
332
753
205
255
547
262
750
43
988
657
262
971
607
491
766
833
233
759
485
771
828
70
897
242
585
58
535
602
971
223
341
308
273
137
564
269
392
483
595
796
404
966
590
945
921
499
447
778
349
399
499
213
972
568
273
690
188
732
820
836
340
876
389
672
300
940
674
682
412
690
499
239
415
448
522
462
714
992
486
577
725
558
632
229
43
287
78
30
886
890
397
794
598
575
159
560
973
446
885
500
857
733
742
249
749
172
302
24
126
783
872
131
809
124
217
126
986
790
977
909
436
597
732
536
82
383
445
358
259
842
973
388
977
128
441
468
32
225
542
889
9
252
226
617
128
937
843
146
373
442
514
343
570
642
407
320
879
721
623
494
693
639
624
542
90
636
447
824
752
439
521
264
807
239
510
329
77
842
479
967
95
605
634
872
592
896
37
405
321
880
981
902
791
335
178
808
894
85
491
317
490
375
737
730
683
176
983
768
956
976
832
450
305
93
452
958
226
919
453
117
751
784
302
736
706
340
615
59
44
448
577
40
387
556
712
932
905
482
414
985
254
313
967
633
609
870
274
645
714
814
129
155
516
2
700
339
146
144
797
814
961
167
631
462
876
943
37
513
469
193
531
170
185
460
164
981
510
999
868
460
169
336
853
150
233
13
701
459
531
732
955
108
902
727
394
955
646
671
682
297
985
856
738
493
477
700
39
884
101
844
985
565
166
246
660
478
285
714
574
711
403
258
428
619
279
485
569
571
874
30
540
724
801
662
70
195
404
287
904
401
5
521
128
160
600
918
7
316
583
187
919
298
91
959
655
37
226
739
214
73
693
694
237
536
389
837
398
929
76
986
383
258
568
596
573
139
775
199
196
953
564
711
496
971
621
330
412
688
414
61
390
211
920
207
174
710
968
278
891
352
973
872
277
95
304
36
640
991
761
510
57
350
452
24
308
251
873
536
302
402
121
863
57
253
24
708
838
644
391
441
722
962
732
371
675
966
585
409
214
955
986
205
870
950
760
835
938
890
998
87
494
639
546
232
218
758
357
918
348
588
269
478
26
195
182
554
322
82
581
336
514
421
90
180
543
735
44
586
126
588
75
752
711
862
383
998
312
610
620
369
259
335
356
628
109
759
631
683
231
810
459
188
114
586
21
724
40
538
909
470
608
961
27
734
473
155
629
62
865
296
593
886
612
149
173
850
906
230
402
3
550
920
819
39
214
355
381
630
58
603
267
685
194
755
773
81
583
96
661
969
383
428
105
318
239
954
894
712
687
889
620
786
672
80
390
866
160
497
31
549
949
392
834
956
105
310
651
361
865
883
546
738
496
530
257
520
311
767
471
533
17
817
246
625
602
609
971
995
217
44
934
597
904
646
893
290
552
281
70
581
158
702
613
933
354
60
900
585
142
380
18
765
966
232
365
981
571
465
624
808
584
951
256
213
375
696
295
993
575
598
423
351
553
349
267
988
277
690
354
323
241
301
436
632
560
81
722
970
900
502
115
688
670
991
717
263
752
19
714
931
119
685
252
308
879
104
59
786
642
837
384
995
613
932
298
21
496
883
507
416
114
958
609
222
611
916
182
398
290
52
153
45
370
928
656
782
448
854
2
480
37
437
422
293
309
7
976
616
99
815
392
136
307
209
609
648
44
855
519
660
290
248
697
110
341
383
951
717
40
463
140
569
651
976
43
573
231
276
21
287
526
59
816
491
755
761
152
560
122
970
691
338
519
388
522
750
700
752
585
837
143
392
362
227
922
767
688
335
183
440
793
728
227
389
524
176
783
502
249
854
791
359
109
74
890
136
142
701
856
592
294
70
445
577
473
874
432
482
635
954
171
332
342
346
653
9
350
266
875
195
578
928
306
208
226
224
391
857
925
323
292
780
520
210
570
546
509
1
51
922
225
664
955
359
537
394
214
652
255
507
41
225
425
138
3
197
389
457
256
668
836
363
146
236
64
843
67
792
308
250
336
57
337
785
853
178
445
364
486
913
611
863
432
600
880
491
318
149
938
617
398
752
452
966
46
881
3
510
654
398
320
732
173
293
109
211
791
638
964
622
669
845
740
311
203
196
276
599
61
938
552
827
83
917
210
941
193
856
851
130
702
906
684
609
674
8
911
135
605
960
698
296
296
794
699
878
625
250
883
878
934
640
851
846
854
407
916
269
692
990
966
669
975
439
536
916
322
326
571
34
593
171
91
415
192
499
314
945
455
115
848
1000
301
936
239
677
713
955
497
873
136
513
216
54
623
75
584
635
368
148
850
899
316
793
807
295
678
423
470
782
544
250
392
590
210
766
11
420
545
104
7
621
442
20
885
347
417
468
921
23
476
430
159
717
650
774
355
176
34
349
643
347
705
472
247
180
663
231
694
382
793
754
885
599
928
694
839
165
241
720
94
186
615
709
542
203
90
673
974
112
203
221
692
330
828
449
355
407
135
750
649
432
390
980
452
614
652
762
935
342
829
505
420
903
209
883
891
780
298
96
762
109
750
235
886
443
240
450
802
460
348
459
920
606
930
91
676
965
990
220
682
855
757
436
557
703
533
240
425
813
908
380
55
509
74
174
201
968
325
342
17
789
288
867
330
965
97
935
168
450
475
792
152
989
680
692
314
190
353
736
411
88
575
524
55
633
859
9
847
549
381
834
212
46
478
758
835
702
344
462
442
630
872
152
142
759
822
890
729
616
827
522
139
543
280
382
712
662
787
731
59
236
741
979
74
291
497
345
116
498
817
533
419
345
518
382
583
574
715
204
375
709
648
723
145
251
877
89
857
782
495
446
131
781
136
916
709
439
750
672
432
128
531
980
180
473
903
697
204
163
189
739
937
749
440
467
686
654
901
749
574
566
782
714
706
178
305
871
833
961
491
271
717
316
801
915
974
941
499
401
444
736
611
151
23
887
402
164
461
37
614
370
838
616
69
142
305
461
863
401
214
837
91
61
930
845
913
287
470
995
850
112
607
410
373
525
234
727
208
31
587
267
311
49
390
445
103
223
121
746
416
893
366
752
560
503
651
911
57
698
262
705
901
222
279
873
634
487
483
150
148
873
821
770
868
404
866
622
920
428
49
523
922
313
490
547
317
3
933
728
498
456
627
732
578
616
988
305
306
588
557
385
523
112
36
767
547
263
184
155
49
545
975
206
308
197
666
923
209
567
398
389
7
888
526
339
629
633
114
549
296
915
941
338
296
63
939
747
46
592
165
127
975
271
314
919
331
903
298
387
786
702
586
970
535
899
863
656
700
288
49
526
993
971
880
167
981
464
54
208
802
686
417
591
839
55
790
546
698
109
804
452
815
572
556
882
141
782
985
189
670
735
612
904
8
793
700
106
794
254
937
634
541
600
467
698
404
184
479
22
424
555
559
91
57
398
732
488
169
276
440
585
236
982
706
22
167
325
373
541
44
600
653
724
80
836
138
94
259
128
92
880
450
44
86
434
282
112
1000
948
674
877
983
644
743
858
232
52
741
41
336
334
781
178
500
878
382
273
177
551
277
128
509
41
506
688
503
720
545
265
64
332
99
396
828
584
270
227
249
426
947
816
557
399
693
697
983
926
853
358
141
857
324
41
569
858
226
406
209
495
700
173
36
977
204
772
153
550
960
458
384
497
678
49
854
528
246
684
36
112
896
536
520
957
217
424
104
416
511
670
830
65
178
326
290
89
236
128
857
378
606
135
496
461
496
32
461
465
87
505
496
319
715
934
123
332
933
882
228
67
144
500
414
194
1000
38
558
602
366
81
565
609
481
29
585
529
872
578
846
232
682
648
828
561
362
300
704
648
62
653
866
233
655
716
866
55
53
352
279
288
355
303
879
752
423
309
952
342
672
887
778
703
217
249
97
702
43
183
841
634
523
454
550
442
434
432
647
429
608
195
201
104
489
331
889
793
169
9
615
640
902
673
645
431
741
875
192
448
667
372
71
225
516
568
446
627
96
801
714
160
90
775
224
810
752
624
922
962
933
746
963
185
690
531
21
721
563
543
302
573
649
575
264
949
730
184
647
668
95
19
713
847
103
243
504
815
253
875
549
744
246
683
674
924
530
563
483
957
896
8
635
401
961
358
257
562
806
994
705
187
587
562
420
801
694
588
797
290
904
570
842
139
35
747
871
414
772
250
679
178
752
286
396
540
436
329
733
939
40
27
418
591
549
695
434
244
876
797
62
525
345
796
877
182
955
92
538
486
358
572
645
899
89
434
7
860
317
571
348
211
343
742
868
365
136
206
119
756
403
255
304
529
123
304
489
695
973
820
175
166
812
381
373
191
209
578
586
726
59
327
116
152
449
371
705
620
301
416
799
978
782
398
680
893
114
813
274
312
205
939
716
845
480
22
628
4
396
190
662
479
383
937
34
814
372
507
683
881
657
416
197
563
552
617
841
893
209
576
851
730
993
587
683
696
21
209
15
740
820
619
159
171
575
16
966
421
116
947
449
137
591
569
130
371
797
412
534
847
229
185
361
230
240
493
604
345
143
142
297
85
676
867
611
539
41
898
767
502
631
782
574
128
631
256
448
928
924
795
451
724
111
633
222
437
996
693
669
787
594
882
961
75
584
619
640
243
105
314
672
279
23
734
846
898
55
873
230
117
677
944
326
996
332
622
138
331
286
498
644
558
402
971
38
430
231
520
679
347
64
326
917
307
9
756
800
580
761
79
225
134
411
103
283
746
584
124
350
512
197
708
31
152
361
309
167
123
270
704
945
45
486
517
624
359
629
863
506
446
377
292
544
686
612
739
437
29
701
189
141
711
211
78
480
690
774
268
917
206
463
572
662
649
767
420
928
565
199
230
609
197
627
435
603
442
665
946
742
470
838
5
596
555
782
36
446
842
440
73
350
890
75
820
537
816
929
206
359
800
525
526
607
511
946
936
314
733
880
92
88
129
898
210
598
577
180
645
109
992
896
415
838
865
525
719
482
31
671
618
473
323
357
513
395
833
343
971
529
502
757
732
651
600
203
447
91
480
562
822
526
656
902
332
137
875
277
643
587
341
675
154
726
660
95
880
49
421
515
968
733
504
510
751
492
374
430
178
582
650
313
801
46
157
184
325
695
549
986
842
346
329
153
503
612
746
754
337
857
640
212
344
983
756
834
777
405
441
780
741
893
919
628
854
974
539
420
732
227
470
894
481
126
356
652
230
37
313
166
955
614
506
853
513
105
240
931
826
15
147
407
659
171
576
341
249
475
736
483
348
529
502
477
906
898
32
104
707
951
524
440
758
151
477
387
123
132
847
775
210
127
303
97
203
139
631
12
474
741
995
927
303
546
367
339
183
202
956
130
305
226
863
669
561
123
502
407
562
998
585
634
691
325
538
192
198
603
328
259
696
403
539
728
177
689
468
357
870
378
691
588
819
790
273
891
63
47
312
520
697
484
22
843
880
823
909
768
85
206
906
339
482
184
492
273
376
402
966
77
46
36
1000
379
161
2
545
294
189
586
964
953
879
404
992
822
896
558
755
63
228
433
613
986
761
822
42
599
754
982
104
361
593
779
324
494
289
287
951
673
679
88
634
424
181
51
541
348
263
543
802
150
477
866
970
486
42
219
866
883
483
642
782
280
719
180
516
321
395
11
135
143
926
367
664
252
906
890
130
74
70
465
524
867
973
687
280
20
880
862
794
179
177
833
383
262
740
2
821
194
338
612
253
92
75
744
854
726
322
499
82
300
367
532
747
993
212
438
395
237
590
477
730
409
263
807
848
485
108
673
109
194
327
985
355
393
353
332
4
713
671
760
288
994
826
574
504
675
354
21
726
94
214
947
822
604
605
439
1000
525
688
10
353
202
860
102
26
857
671
569
713
526
406
305
149
63
639
389
142
104
779
953
504
937
738
465
878
389
372
291
123
250
287
193
366
200
905
903
276
945
456
10
419
40
694
206
783
872
672
344
683
443
901
875
298
832
554
953
38
727
166
929
782
964
433
989
777
824
333
418
672
728
746
357
692
51
162
917
474
16
870
221
424
1000
222
301
774
153
181
717
692
904
388
495
901
807
401
221
265
165
610
149
730
87
531
750
782
896
893
467
367
339
911
321
795
660
650
630
707
407
227
363
648
771
863
517
88
396
495
500
41
821
721
700
551
180
340
298
410
313
672
906
427
205
104
804
469
560
50
393
247
327
605
953
550
233
713
983
211
722
573
190
578
197
364
661
712
144
88
872
813
555
487
988
631
21
551
296
716
14
58
766
427
195
2
422
552
985
477
656
222
299
826
638
593
61
381
728
396
55
162
135
38
761
274
125
423
2
542
733
8
690
142
316
932
432
590
235
229
507
485
641
230
553
809
645
278
339
439
94
788
138
762
831
486
560
910
569
413
198
213
460
878
40
905
15
106
431
998
297
755
298
479
202
832
471
714
188
783
176
971
71
708
220
497
320
704
944
468
864
325
760
447
583
25
973
654
488
216
633
520
121
314
369
483
830
683
498
906
398
946
228
357
974
501
443
217
365
431
377
709
529
203
461
31
561
671
782
200
520
968
868
589
230
773
981
931
561
324
680
692
779
275
220
357
249
172
221
111
168
893
163
828
7
852
469
55
63
167
324
924
814
265
934
486
826
602
631
31
543
256
61
357
685
178
747
800
854
776
444
48
656
344
55
454
855
550
365
567
58
851
444
87
991
224
432
311
695
38
297
394
854
263
327
440
42
447
324
515
888
57
941
161
18
862
126
898
188
985
413
476
172
151
653
382
847
435
845
194
373
510
924
904
565
994
702
260
322
988
688
516
470
330
186
695
488
392
879
646
366
468
86
707
281
946
52
754
858
475
876
766
554
304
164
837
65
781
95
697
767
803
350
440
873
626
257
95
385
41
610
109
945
374
827
604
359
167
515
451
937
673
29
871
753
482
362
237
622
717
494
220
861
219
400
227
898
74
41
345
398
620
26
620
862
845
80
578
583
661
107
337
433
120
440
532
215
54
802
538
204
981
613
163
57
374
552
55
508
540
694
562
119
439
109
679
881
741
551
20
674
288
769
455
392
930
965
170
79
392
192
432
544
416
783
257
747
946
453
529
709
518
353
836
835
353
226
452
285
842
737
445
500
286
240
828
59
759
506
66
786
906
401
995
460
349
106
406
487
131
228
111
674
265
85
319
559
53
498
518
817
293
688
902
926
873
234
527
633
562
600
78
744
954
453
58
419
669
840
715
472
881
289
807
128
186
103
568
318
611
411
867
873
307
37
622
906
103
871
977
273
606
250
610
234
20
765
829
357
152
54
769
257
381
379
99
977
478
221
135
690
273
684
142
946
119
260
928
841
975
346
516
352
736
7
823
575
125
634
765
746
39
518
162
734
784
881
133
186
12
561
407
589
506
379
143
317
179
207
379
168
788
864
205
960
886
305
103
536
502
979
693
911
853
850
276
352
186
364
152
913
474
513
698
301
287
267
569
997
606
864
184
217
747
811
889
664
841
43
777
993
513
327
185
597
485
911
305
593
865
389
179
882
752
942
591
771
653
444
18
919
890
378
846
304
821
184
504
507
250
415
78
842
815
57
176
787
510
452
539
695
757
557
954
20
572
647
523
138
490
191
234
382
838
326
70
81
848
265
639
267
889
1000
363
164
783
884
840
770
769
7
888
625
191
814
118
332
388
66
636
524
578
94
599
743
778
239
917
137
893
551
346
961
175
88
577
627
177
603
710
455
187
42
662
304
869
1000
646
34
520
238
856
64
887
403
889
358
6
364
206
843
851
928
195
597
926
267
966
159
63
74
50
944
857
346
602
80
96
655
533
932
537
9
244
201
118
650
263
777
487
695
164
454
309
100
590
186
374
255
50
848
978
466
477
344
357
681
151
451
264
66
730
49
902
488
581
212
501
510
514
184
810
236
337
455
645
263
323
986
432
983
832
111
352
741
834
838
331
675
990
38
581
570
325
510
854
762
208
4
834
918
566
88
379
525
736
161
395
34
387
18
201
927
268
101
177
397
313
1
310
968
814
813
56
108
979
668
547
844
124
143
781
433
220
271
872
402
243
566
846
628
34
814
736
693
981
368
923
456
823
366
792
607
358
566
725
25
613
485
440
888
318
143
413
849
152
974
936
33
266
439
906
282
86
423
56
850
225
775
712
703
617
246
560
693
676
633
139
121
339
162
930
648
366
1
5
65
158
345
138
177
640
677
200
935
492
668
412
8
106
651
732
176
161
794
266
274
673
871
90
954
647
20
247
179
268
986
76
194
654
126
166
709
781
900
433
153
142
650
794
160
43
212
907
906
257
328
250
494
877
876
594
393
838
628
583
801
541
671
686
929
420
600
281
390
91
301
991
306
920
501
696
257
487
211
821
901
415
895
615
984
475
461
125
416
711
182
486
307
560
223
982
158
603
780
14
884
607
744
804
996
19
391
128
44
883
860
878
395
474
85
557
514
584
380
92
166
493
140
497
416
148
935
984
828
954
854
117
36
910
114
447
730
501
782
882
143
891
984
729
328
477
105
935
880
783
299
576
249
29
96
33
486
415
16
638
59
334
877
764
385
272
915
497
853
101
934
39
388
848
433
936
90
789
92
101
57
892
20
305
290
213
912
532
471
854
625
104
507
460
709
1000
938
67
117
144
717
293
657
736
404
484
746
895
508
474
682
970
591
998
957
891
729
674
100
834
127
675
158
303
983
895
215
445
192
417
257
41
116
594
321
177
443
889
60
999
89
912
825
349
244
736
857
307
878
708
448
822
471
402
784
709
309
304
701
237
399
99
787
416
956
127
104
898
465
730
273
64
504
674
858
513
893
814
776
624
221
469
904
310
490
710
231
394
442
947
609
240
95
697
672
426
186
432
505
274
473
714
451
992
331
644
816
25
671
794
300
985
965
395
703
180
100
517
820
323
828
423
460
489
860
9
237
760
971
521
90
290
94
305
494
695
44
389
1
816
365
120
20
844
843
899
747
768
348
326
756
894
27
674
44
891
350
694
271
504
124
190
504
545
416
691
45
260
249
786
803
509
61
393
257
441
164
301
237
506
878
813
661
736
568
227
867
178
556
179
370
240
776
578
724
522
64
997
650
368
180
886
765
994
41
906
34
540
117
14
549
804
635
670
358
754
68
692
836
105
333
815
538
404
311
979
560
95
539
755
170
966
429
45
897
252
925
416
298
403
319
975
370
192
822
695
913
416
596
510
209
898
169
274
36
896
534
899
417
297
800
616
446
185
944
289
249
432
71
176
397
28
623
335
71
707
109
135
916
305
286
950
782
959
201
206
480
930
105
364
292
328
95
317
201
506
262
939
727
175
216
209
803
626
164
390
341
529
92
272
17
908
203
354
335
814
492
145
190
147
210
485
37
821
45
898
211
182
2
486
157
190
375
844
84
355
664
764
68
871
2
269
719
661
455
638
321
311
544
655
787
969
493
263
855
351
977
167
710
908
603
706
605
79
984
485
126
302
980
849
464
114
660
258
403
245
558
35
812
73
77
740
44
203
229
648
64
203
507
415
54
735
314
39
945
412
299
649
614
710
912
485
449
196
684
680
626
126
52
95
688
199
41
495
984
901
753
852
95
380
375
382
630
244
430
206
677
51
36
234
746
465
249
895
280
252
954
880
647
352
362
930
82
210
896
8
227
465
134
909
750
867
523
474
19
961
785
85
988
729
272
56
214
824
73
872
431
498
312
942
221
598
916
714
72
253
121
516
592
3
104
480
705
146
435
230
406
31
492
830
81
870
587
624
424
398
311
212
721
370
524
785
628
455
507
425
620
551
996
806
942
935
236
915
269
956
712
33
241
131
927
246
729
668
462
166
972
381
536
399
696
912
488
501
967
980
906
847
769
100
614
869
283
853
368
564
383
305
912
81
151
642
975
407
104
411
923
913
363
37
20
538
259
415
692
945
684
484
731
816
85
623
156
804
117
621
280
336
879
737
629
599
102
69
512
533
837
57
434
620
992
424
35
541
546
301
920
580
365
581
556
715
344
768
409
970
34
739
622
505
985
839
828
307
808
708
151
109
338
56
49
350
360
381
403
563
64
266
212
564
768
480
277
222
482
559
540
391
566
943
91
776
76
9
426
137
391
566
228
255
363
431
802
503
553
757
302
684
61
661
72
91
110
527
729
309
781
96
113
409
284
65
856
588
685
466
126
194
298
528
39
355
834
96
354
87
963
894
312
843
164
137
924
983
603
3
545
486
315
505
359
586
145
140
238
678
750
511
503
977
455
780
336
922
900
438
889
255
263
357
723
28
254
527
823
532
243
164
276
300
641
137
702
857
92
758
631
890
128
44
331
843
683
474
58
723
261
137
259
78
630
915
82
702
598
986
410
589
842
537
750
83
744
21
523
936
905
676
685
232
342
323
171
722
357
647
327
152
733
247
381
576
217
776
997
495
228
379
123
904
316
465
691
946
223
564
183
967
294
670
730
187
590
979
201
83
319
394
683
851
62
512
881
993
881
62
189
137
571
919
653
718
220
897
580
28
742
497
296
430
252
645
452
276
999
277
301
149
36
282
577
580
999
952
988
329
151
548
791
638
330
51
652
606
538
437
769
994
714
80
245
288
654
990
821
861
130
630
384
368
14
23
106
344
609
680
683
117
458
638
903
728
614
596
691
564
713
633
849
779
249
550
957
400
101
181
268
210
732
360
984
121
458
391
5
761
844
980
92
451
602
599
393
541
313
132
469
351
938
526
259
589
346
821
919
165
25
645
109
804
748
715
80
693
182
389
886
684
358
636
133
263
480
40
947
545
736
639
272
83
692
439
156
145
332
435
453
431
33
860
226
896
571
125
188
487
773
672
727
77
576
498
410
854
58
647
374
731
485
379
678
67
521
24
524
182
557
763
233
646
506
713
992
324
543
720
689
492
1000
214
610
131
10
317
360
672
598
161
153
47
586
39
515
900
82
557
541
194
337
452
57
264
450
107
444
567
720
90
412
996
475
226
712
644
825
814
648
337
123
612
240
81
870
116
74
803
421
478
193
433
144
128
867
393
593
819
718
56
867
301
472
552
566
327
546
634
661
8
812
924
152
800
116
997
602
558
561
217
515
187
138
155
49
347
21
705
734
605
718
732
718
152
345
196
556
960
443
219
696
791
157
488
665
24
90
718
362
647
808
638
58
89
822
118
417
792
811
583
341
554
45
860
481
693
208
911
54
64
301
733
966
750
907
843
330
67
851
362
174
141
232
716
491
887
838
328
846
726
236
530
401
698
177
84
591
987
518
345
660
993
567
104
928
247
591
591
977
425
271
927
885
657
39
586
297
126
546
36
360
689
20
816
516
868
890
737
714
117
848
772
870
680
479
469
285
741
695
400
319
789
453
224
796
315
687
468
529
987
936
988
855
452
887
389
257
800
942
404
7
459
965
314
242
64
555
54
47
364
558
533
930
777
37
61
542
621
590
501
602
329
739
917
784
217
74
22
754
488
992
727
617
184
170
402
807
752
333
288
850
747
513
625
465
916
747
681
223
605
78
839
325
987
796
293
109
62
108
718
555
798
782
469
438
27
875
496
726
940
358
183
525
95
285
712
135
870
200
443
780
210
604
986
192
312
667
323
485
647
826
366
716
317
563
819
118
300
440
46
206
585
423
948
914
510
638
509
429
927
950
758
629
930
205
393
912
970
501
190
705
163
641
640
154
463
769
957
310
151
253
712
656
817
60
869
937
568
266
939
91
726
794
274
538
696
205
296
199
977
146
559
397
529
67
156
244
841
948
859
181
79
64
827
105
618
275
424
909
146
945
910
341
239
323
311
761
16
176
804
809
4
514
319
958
845
488
873
669
850
936
357
164
696
570
114
856
731
540
662
112
493
923
347
348
5
724
543
411
361
147
246
822
913
197
580
754
93
178
747
518
538
281
451
964
740
245
653
403
835
32
817
605
560
566
465
958
608
830
934
97
801
59
756
183
553
330
921
556
84
572
636
633
711
928
867
811
339
426
95
586
961
123
189
296
570
259
299
662
413
424
925
799
898
475
118
486
805
705
890
240
661
787
449
212
284
138
868
968
522
642
127
9
164
117
258
261
847
544
486
822
541
792
864
1
839
539
855
6
876
135
746
721
150
390
556
651
895
668
311
484
980
201
193
696
438
240
61
305
892
519
289
147
108
518
694
69
825
181
567
994
842
72
459
151
54
424
433
650
756
197
957
200
83
21
452
5
888
881
813
786
703
486
877
413
699
545
888
881
708
578
529
205
441
463
956
360
12
671
574
556
760
3
34
1
140
715
999
787
149
80
779
679
355
841
853
438
105
469
629
707
882
859
525
689
119
874
619
546
991
179
636
963
840
891
43
326
912
919
332
797
51
267
395
894
824
225
34
305
303
97
250
342
417
66
942
824
324
848
31
224
745
29
850
564
574
367
818
918
374
881
62
360
544
252
640
843
61
915
474
840
684
242
916
479
447
360
110
605
48
521
976
408
504
358
669
244
39
68
839
831
730
291
886
274
862
462
662
259
319
474
751
327
541
781
557
346
810
481
893
178
622
485
681
64
936
626
672
434
924
434
784
684
673
364
796
979
945
435
644
260
726
641
487
490
794
954
57
581
934
453
530
626
761
906
317
796
338
139
721
706
878
642
348
169
901
173
549
963
104
553
930
672
113
480
131
712
976
915
685
365
974
544
725
9
855
883
745
788
90
820
360
622
124
776
296
800
875
234
384
424
946
39
398
588
86
779
986
511
461
535
778
801
203
475
991
643
517
68
512
3
358
227
470
835
309
257
775
924
835
337
982
185
537
187
78
196
354
685
488
262
949
455
682
541
645
874
235
644
373
524
101
616
38
828
172
436
616
519
872
972
64
628
688
849
825
859
26
837
303
612
732
169
194
384
931
672
967
991
603
707
110
845
424
714
961
514
981
552
118
935
426
966
397
944
973
214
307
222
449
327
820
377
253
495
987
653
682
838
614
648
572
149
764
516
572
235
340
377
210
195
383
996
86
271
985
398
152
935
949
734
73
523
371
600
54
27
390
20
403
629
198
452
286
188
271
531
812
160
474
728
621
362
332
737
620
604
310
206
349
431
352
387
765
143
323
349
883
808
211
714
804
202
133
251
151
486
256
253
832
958
693
366
330
382
348
410
477
285
444
776
712
50
177
196
409
829
523
34
762
104
742
746
22
166
529
845
675
931
80
532
240
275
565
99
961
516
626
418
594
746
563
36
879
478
807
938
25
466
118
556
766
631
737
451
60
713
321
940
557
672
130
66
311
879
339
517
45
804
786
484
456
281
714
23
695
402
270
137
141
754
636
696
50
30
644
298
464
992
666
357
28
410
367
21
983
852
650
7
680
166
726
83
407
55
819
709
179
419
409
312
417
17
307
769
128
584
88
939
265
746
572
493
447
930
119
887
104
30
467
32
429
746
729
119
209
356
946
90
736
199
297
456
515
276
640
512
401
201
599
508
157
186
792
25
133
888
123
599
931
700
295
643
477
517
819
846
849
101
818
515
624
894
909
785
221
568
247
234
936
631
598
177
938
125
958
871
463
848
820
897
875
536
624
253
29
126
369
52
604
593
573
271
674
801
39
720
821
507
920
210
495
940
623
955
188
354
972
395
210
569
900
944
499
798
629
661
972
992
956
480
345
522
783
417
248
273
471
130
717
106
955
326
810
238
817
740
211
278
640
869
134
539
96
187
764
771
119
315
768
655
468
510
100
223
713
863
464
880
396
819
304
844
727
975
115
647
652
622
211
787
562
178
822
759
225
473
528
456
741
840
616
377
461
81
862
179
832
708
653
818
82
268
89
982
515
204
923
529
918
435
735
395
269
778
782
788
485
414
293
515
427
803
850
989
764
870
651
776
580
818
81
574
794
622
67
132
579
108
53
958
949
555
352
614
612
906
779
18
999
998
198
464
95
736
595
988
336
718
818
310
377
665
914
833
960
930
336
72
484
473
912
443
106
959
588
585
397
36
432
218
607
457
271
113
599
407
669
889
374
308
611
238
888
403
430
644
593
633
977
816
673
678
17
903
509
518
114
960
274
588
46
317
909
378
926
258
931
339
737
820
666
92
983
689
534
207
488
824
956
308
172
931
297
834
781
890
19
556
176
29
878
887
713
441
565
70
705
625
669
582
713
374
203
464
646
210
257
852
245
629
487
650
574
101
286
183
536
61
467
647
285
103
209
368
645
198
831
178
280
64
675
730
417
707
28
193
389
781
530
550
118
655
963
717
936
949
676
742
811
905
138
670
145
140
279
38
769
215
359
544
699
989
53
199
473
882
351
92
631
61
621
28
3
5
919
417
974
102
185
201
866
714
502
110
844
629
992
179
566
925
236
327
882
68
341
737
466
475
896
953
236
899
106
866
739
700
321
246
498
509
35
65
462
807
194
606
284
716
286
311
163
601
284
360
367
171
965
205
345
418
516
718
566
85
632
74
824
339
480
282
778
7
31
52
898
6
246
759
867
588
519
399
672
643
598
770
312
559
939
591
76
102
45
907
797
358
927
933
384
8
224
418
166
141
884
737
282
355
570
179
431
100
106
307
782
117
344
842
736
326
815
280
542
721
404
297
474
660
67
72
384
445
317
856
975
230
786
449
64
98
687
791
434
653
411
510
602
536
800
129
20
95
884
581
703
873
961
845
324
637
985
801
95
450
127
843
590
682
238
416
813
901
712
380
384
331
878
52
747
899
653
821
651
954
622
490
994
410
132
869
314
400
236
697
812
543
544
664
851
566
122
158
242
326
579
400
532
273
424
752
683
978
539
356
224
655
398
715
980
533
245
471
957
526
8
437
820
881
151
877
668
427
25
138
494
552
531
23
800
306
76
663
316
852
842
286
685
51
415
944
259
146
637
215
881
314
386
878
607
412
642
806
896
351
820
653
663
354
845
437
967
828
854
780
832
694
733
389
826
795
918
369
617
449
20
56
627
291
864
392
330
294
489
277
456
289
485
978
574
322
814
406
106
933
916
998
790
809
468
39
40
273
641
452
428
790
80
514
718
963
108
448
535
548
866
610
707
616
184
770
815
335
984
63
265
792
941
320
461
916
928
811
311
807
505
950
310
762
337
100
963
825
968
448
117
976
813
857
69
955
585
702
11
287
626
968
404
286
765
314
422
688
417
355
461
87
573
181
28
552
252
996
19
612
742
805
540
319
656
291
896
241
443
367
355
60
478
407
579
882
276
825
390
535
703
503
654
871
245
548
647
542
581
980
200
807
689
281
302
667
679
146
594
41
420
422
384
747
717
943
378
765
544
925
321
645
312
638
134
926
713
309
934
155
984
604
536
392
788
565
650
123
39
605
997
116
160
980
9
123
199
221
600
218
212
131
745
264
76
304
230
217
658
595
14
952
879
616
84
857
755
113
546
712
938
41
989
248
618
258
794
376
931
16
198
250
134
856
360
235
920
74
597
351
202
683
271
985
549
644
485
452
305
222
883
543
37
505
372
295
634
474
482
71
813
538
457
478
262
117
871
786
913
663
717
274
106
517
502
394
502
118
776
693
661
372
950
221
133
467
993
519
753
990
775
382
610
981
431
256
784
498
80
563
556
290
645
204
222
477
322
253
71
447
451
117
323
800
151
505
71
801
114
150
310
707
362
561
188
328
627
56
512
354
232
918
330
298
5
833
195
397
813
672
276
448
764
285
74
344
966
223
916
30
33
198
745
713
197
663
998
397
941
93
518
269
599
444
489
10
237
763
407
842
433
145
928
21
298
42
248
513
169
431
371
811
959
530
185
179
29
519
801
151
840
214
24
768
325
762
103
852
97
200
186
624
165
148
986
75
764
15
239
832
298
823
447
676
129
180
266
500
175
962
654
243
800
19
538
268
515
558
353
711
401
899
246
572
921
986
163
709
72
373
266
418
362
397
379
21
187
919
211
694
558
295
140
819
986
245
244
292
578
865
73
550
22
352
397
555
198
894
782
631
629
829
385
814
814
360
801
345
800
72
152
48
973
23
851
574
191
396
635
927
816
606
546
276
141
234
488
751
979
387
886
844
907
898
751
73
766
292
157
739
532
587
707
13
627
818
116
47
19
622
407
526
263
373
550
851
737
94
612
167
885
854
587
566
251
398
133
93
450
558
377
628
970
349
804
346
910
749
987
180
318
850
590
674
781
467
645
657
343
297
553
413
582
409
682
410
935
207
673
195
940
968
792
755
87
751
759
510
425
753
465
113
866
160
943
390
397
185
723
111
34
216
487
717
431
993
501
807
475
269
901
960
114
688
303
424
875
508
596
320
268
357
988
240
308
423
584
586
894
354
802
526
682
677
934
200
393
717
19
689
188
847
999
311
871
402
803
991
208
728
629
832
554
657
157
510
335
170
884
779
652
116
65
232
447
648
955
395
184
462
209
411
999
27
310
846
596
723
842
596
969
226
282
497
198
535
718
978
122
731
602
44
741
968
160
933
527
183
605
16
674
732
650
928
505
477
104
420
877
851
549
162
423
94
164
550
939
137
798
607
13
612
271
226
259
46
738
325
156
615
633
982
542
747
385
224
282
447
591
980
471
490
798
627
833
515
400
659
624
596
381
321
456
122
841
393
925
659
252
961
848
999
428
684
183
795
24
986
442
26
179
647
517
5
631
434
338
837
197
819
732
4
43
303
183
258
559
550
917
81
998
362
898
799
227
506
855
829
102
535
448
649
991
47
7
833
922
274
74
881
680
498
153
638
931
553
650
829
115
593
966
579
411
385
123
838
557
600
88
316
686
997
172
848
628
897
496
147
301
72
543
517
958
32
219
431
997
683
721
843
24
519
695
707
607
833
867
487
941
899
335
338
233
735
200
260
179
838
73
764
320
229
239
476
452
273
979
698
476
973
597
129
263
881
211
837
177
324
242
104
845
394
872
935
693
23
397
880
485
515
571
308
871
107
517
420
475
479
728
108
622
673
9
223
166
501
943
948
232
402
627
734
881
650
959
711
865
972
715
566
652
914
39
620
857
772
717
258
49
467
787
907
684
552
644
496
553
423
736
659
698
902
416
42
253
581
237
676
8
709
252
796
814
940
455
422
112
982
535
713
986
1
531
397
144
701
836
532
123
125
192
520
858
566
13
515
462
467
381
349
695
803
560
670
144
257
691
223
565
427
646
144
212
443
666
650
192
586
499
760
89
972
259
542
145
902
80
896
253
223
9
104
918
943
209
165
117
362
729
484
666
217
576
605
342
646
756
491
460
348
310
336
68
932
70
988
188
306
37
884
815
926
831
771
447
859
593
644
26
928
130
30
49
621
821
170
503
99
6
718
7
355
143
265
217
525
38
409
108
421
804
69
234
579
51
482
433
509
988
606
739
378
743
707
452
59
226
497
413
326
287
572
544
6
758
791
622
37
196
925
55
751
800
130
190
135
25
770
269
495
869
694
719
724
680
296
891
337
598
645
704
527
413
467
920
779
729
20
934
976
785
768
10
527
193
274
911
765
161
923
692
746
460
946
278
647
525
674
71
140
587
143
496
475
674
960
852
535
636
801
257
780
98
64
824
824
393
930
368
383
73
573
145
444
551
306
97
832
799
225
60
771
801
307
227
665
610
974
905
72
493
859
289
776
568
868
511
919
800
693
729
411
984
554
375
201
552
373
985
550
684
499
209
137
182
805
721
703
41
275
728
921
436
170
705
386
110
456
798
909
803
510
60
802
381
993
299
483
810
411
893
489
978
129
316
991
627
478
519
957
346
193
529
402
657
595
795
587
715
853
913
575
26
133
271
313
915
664
104
289
158
597
176
842
321
982
49
422
861
407
454
450
988
594
812
926
589
759
358
620
285
627
631
498
824
799
321
21
560
586
604
78
736
535
106
634
652
583
615
591
556
226
471
8
298
109
356
545
338
180
831
942
727
920
567
418
31
182
663
95
8
868
849
946
41
2
636
310
932
763
675
722
708
695
708
650
498
602
447
752
373
648
683
441
296
735
723
854
958
582
950
819
332
811
982
49
242
959
409
565
104
582
519
344
254
513
819
240
983
899
357
539
454
857
50
893
180
474
280
964
638
366
979
860
880
255
341
286
740
803
24
430
315
481
478
776
948
390
548
378
846
754
81
692
820
285
623
664
346
722
638
664
324
663
899
789
436
181
818
220
972
873
550
601
375
698
598
866
480
359
555
549
661
83
312
346
626
319
785
676
629
286
719
985
239
304
651
851
617
553
468
259
478
205
283
23
477
927
559
987
850
347
492
514
504
428
678
788
622
644
2
609
73
476
502
695
566
17
679
986
533
423
361
79
204
535
765
728
163
233
841
267
991
992
330
959
240
685
219
504
92
864
455
363
521
648
822
159
702
865
872
101
684
276
691
305
67
557
42
910
538
206
144
84
637
709
927
392
45
80
121
486
35
386
935
763
456
983
412
453
753
945
768
588
116
632
131
434
759
424
179
265
737
380
57
805
451
9
863
283
187
386
698
782
605
550
972
519
93
530
198
730
278
324
2
96
825
890
442
13
814
507
23
569
641
887
979
774
391
65
506
464
52
404
621
296
789
9
232
434
719
485
843
835
292
234
11
551
411
430
328
67
908
398
214
514
840
374
284
550
336
530
345
773
428
681
401
842
346
355
147
859
285
734
539
165
507
517
978
428
976
961
539
773
428
162
451
791
854
162
745
399
958
604
560
950
25
486
120
443
991
7
806
405
245
635
53
789
831
312
36
267
286
119
234
392
275
849
998
421
593
654
197
32
840
352
848
781
260
35
414
888
827
331
94
901
645
55
21
808
120
1
716
450
167
315
582
438
926
241
455
338
79
2
462
594
855
273
501
496
282
961
700
528
32
27
77
597
470
656
490
970
167
401
651
217
160
838
623
111
745
862
766
225
405
14
511
904
780
112
728
413
253
42
665
330
794
758
641
627
231
432
715
535
953
206
520
936
427
196
369
973
539
232
480
596
958
316
892
942
177
934
231
834
872
169
988
179
495
25
380
716
803
494
199
392
147
679
255
628
903
721
166
871
372
369
269
125
877
762
389
592
506
436
32
188
159
576
331
432
142
304
732
137
521
107
990
416
848
594
487
732
696
417
296
119
619
549
686
234
778
100
949
628
503
517
546
431
477
310
563
714
59
421
370
918
519
976
225
90
584
430
245
132
747
54
836
919
282
306
181
925
710
877
846
957
802
98
907
689
816
954
244
976
813
181
835
304
321
782
921
364
559
813
912
419
726
521
765
43
544
688
361
860
380
603
104
101
802
182
543
153
319
602
360
792
407
254
429
459
678
966
23
773
152
207
419
420
192
425
317
757
581
766
505
698
610
162
161
947
796
179
3
226
58
84
297
913
707
298
348
431
665
772
694
797
660
858
698
962
990
937
591
998
624
384
325
674
60
474
791
725
339
468
27
915
66
437
80
69
131
344
72
355
18
522
863
480
301
983
384
898
909
889
406
801
262
163
978
438
192
403
275
256
868
218
879
484
615
630
848
21
584
421
4
911
728
165
14
290
453
219
760
372
585
131
407
978
10
763
333
131
482
924
814
437
580
454
916
342
742
537
592
859
639
441
355
36
875
51
235
238
160
308
963
344
651
118
423
38
110
381
478
721
891
526
204
980
549
373
414
190
27
161
131
561
976
325
282
876
727
975
508
236
870
45
430
358
143
770
72
374
598
507
487
588
579
880
751
403
102
914
647
419
626
108
345
787
61
386
277
2
77
463
257
717
441
467
599
565
154
560
618
678
608
931
431
355
867
749
442
269
436
575
208
757
544
312
658
935
88
955
805
860
832
303
136
497
382
297
864
989
734
871
76
630
934
999
638
969
460
144
364
675
495
476
586
157
165
3
768
443
155
266
190
484
858
334
80
888
351
635
765
51
48
592
572
814
843
113
213
40
908
743
370
991
91
682
990
951
33
937
627
339
707
581
755
451
68
486
593
64
904
904
450
342
773
964
945
901
125
489
794
417
321
544
1
848
273
771
427
240
876
868
678
43
214
571
206
93
762
57
296
675
491
36
366
635
759
682
608
75
414
164
565
25
338
785
657
381
952
643
25
541
889
270
330
421
108
950
273
950
223
259
718
712
703
921
214
165
926
243
650
708
740
246
524
949
343
96
8
714
774
597
607
684
256
309
691
84
970
348
598
481
549
998
342
617
769
94
147
143
420
541
196
287
339
422
990
763
927
917
672
701
238
643
520
957
935
73
553
940
960
447
869
23
754
911
897
655
303
682
223
531
16
723
12
592
718
712
368
116
606
156
127
918
71
71
706
498
684
39
620
997
504
358
211
997
101
654
906
520
302
593
100
59
773
279
360
123
957
476
164
565
790
100
887
896
852
269
29
946
335
802
991
415
230
252
825
365
696
437
474
205
391
961
994
495
932
398
107
776
276
665
242
656
992
578
912
618
879
788
853
332
329
42
890
806
150
236
869
341
328
810
337
113
323
834
871
171
77
563
81
767
838
327
343
260
299
370
284
249
294
662
861
228
491
755
649
788
95
490
604
347
562
699
152
426
723
123
902
748
531
400
675
814
813
367
842
152
88
871
125
136
456
973
137
140
59
722
937
786
401
641
775
222
76
694
47
710
88
787
162
237
14
774
706
562
687
542
765
849
989
997
762
39
561
672
486
155
961
235
246
80
842
395
255
680
255
581
405
791
32
283
581
275
546
146
523
255
819
726
51
689
101
353
151
621
515
642
11
835
343
67
618
114
815
417
926
15
31
133
919
859
784
253
143
636
597
160
356
671
253
409
62
164
459
638
542
193
56
19
939
362
353
700
629
41
777
460
820
66
973
142
879
839
934
465
335
11
494
504
933
292
777
452
348
506
753
310
400
698
126
756
696
940
160
797
618
531
924
746
510
415
629
709
716
2
430
14
853
23
72
996
328
734
232
95
660
519
286
495
573
950
493
443
230
429
242
924
171
814
131
597
740
856
114
776
800
830
830
753
543
499
580
944
71
423
72
209
212
659
197
150
713
128
624
375
589
251
904
527
851
993
136
310
320
94
955
917
481
130
790
994
610
990
830
737
504
522
175
804
191
371
924
472
942
509
806
867
745
531
68
151
182
586
969
291
259
709
181
369
382
400
819
448
63
542
605
697
387
106
899
778
527
670
919
561
771
464
517
821
671
492
290
919
875
333
644
437
156
359
659
321
948
442
272
416
416
718
308
176
756
592
395
929
896
975
615
330
273
692
51
546
660
102
48
252
314
247
89
760
835
243
692
449
232
223
599
230
641
864
869
907
26
414
165
205
992
191
642
665
497
709
388
824
910
967
262
843
289
912
333
269
234
805
854
706
947
996
840
951
363
635
897
601
353
948
872
211
31
40
293
841
141
594
317
229
340
482
78
881
969
43
938
104
541
695
84
352
754
659
376
306
316
762
82
794
234
693
398
964
523
651
238
177
467
968
806
690
670
221
896
527
145
278
684
910
587
974
25
242
811
372
920
883
39
73
851
949
367
693
158
895
276
384
492
951
474
244
628
314
747
583
645
632
701
237
508
471
476
576
618
367
561
418
770
573
827
765
267
802
760
218
654
110
663
921
629
559
312
108
228
449
116
692
312
716
353
820
682
585
478
12
938
633
780
322
302
261
934
923
188
963
81
687
288
888
136
592
249
929
958
261
851
2
849
538
724
192
627
761
252
203
166
329
289
903
873
210
719
770
19
290
666
763
269
848
420
438
985
965
696
178
128
411
909
11
619
373
573
832
88
428
720
797
803
321
543
277
411
429
48
54
849
291
602
352
390
202
680
908
355
672
16
527
450
507
605
456
25
359
694
502
828
876
982
1
977
982
729
637
932
405
388
638
249
298
649
48
742
682
524
635
502
498
184
460
880
233
805
329
166
461
596
125
193
146
508
482
495
219
879
422
980
764
402
310
299
156
365
939
213
580
46
651
315
711
559
135
374
745
161
954
468
595
239
911
763
823
781
75
514
806
113
675
402
690
73
70
790
949
616
727
887
720
37
440
69
644
610
48
806
661
482
550
760
20
59
829
588
831
978
164
935
594
985
321
891
542
692
312
919
24
233
827
899
888
295
939
446
530
871
939
137
297
354
50
597
988
253
331
666
486
906
306
34
971
69
707
778
720
111
275
243
260
909
720
542
510
183
797
791
586
166
958
831
164
19
170
835
634
302
325
677
804
189
116
355
565
802
388
81
775
237
732
874
587
358
547
627
576
442
878
631
344
72
74
529
698
487
725
458
127
751
396
961
43
697
396
846
205
578
163
792
780
781
930
937
760
713
959
83
815
245
16
432
231
631
737
963
257
917
196
653
62
239
288
752
513
236
512
245
130
83
358
427
935
253
789
262
376
186
219
819
129
513
18
615
411
321
785
131
353
236
547
134
107
773
616
660
624
479
27
722
444
889
368
818
439
213
336
340
147
965
543
828
262
470
924
816
860
269
614
709
149
7
296
717
897
261
851
401
186
154
582
760
829
295
438
153
602
762
405
520
419
371
707
544
729
452
505
405
699
719
579
724
193
558
827
148
183
288
534
777
966
473
21
301
496
417
701
279
206
296
575
462
943
259
890
447
998
972
25
239
784
744
662
473
407
350
961
175
221
143
757
911
485
825
775
125
398
528
465
235
126
496
362
833
898
674
775
923
908
25
239
683
531
215
381
691
330
599
772
873
426
103
882
728
73
700
489
495
689
652
749
54
186
581
666
263
155
752
898
366
352
647
653
869
5
18
951
968
605
149
656
224
261
952
517
681
167
884
907
41
426
401
66
805
282
802
457
538
804
875
244
537
203
728
28
209
250
515
695
424
718
595
645
935
384
768
738
740
868
886
994
898
534
68
465
885
738
189
723
58
922
73
99
171
487
69
133
159
870
265
706
620
987
653
979
520
46
948
565
620
737
626
324
95
10
967
809
564
926
550
658
531
594
678
147
832
815
693
750
228
868
985
756
734
804
783
920
620
732
485
682
260
851
370
702
189
380
25
321
779
128
717
108
927
181
227
817
20
55
405
931
246
724
771
460
974
119
63
818
582
61
498
415
560
104
911
53
160
411
621
362
180
650
41
262
674
845
615
886
527
264
597
502
874
730
559
686
253
185
306
436
282
930
9
951
356
756
10
542
539
65
679
471
419
189
143
592
113
317
500
323
45
858
314
817
365
572
845
216
101
544
438
506
200
909
974
817
657
240
73
962
806
712
6
648
700
441
909
49
197
916
954
389
18
46
561
763
580
163
646
655
841
267
116
557
748
884
559
597
124
207
91
360
18
581
885
897
568
974
736
504
439
823
368
989
756
500
861
15
248
729
720
597
3
444
604
976
839
959
667
914
802
834
822
916
705
474
916
3
956
335
31
440
113
597
604
265
785
287
65
543
482
137
32
31
995
920
888
327
721
595
722
643
99
372
226
76
2
721
105
576
476
416
957
896
705
951
401
449
455
44
414
363
536
483
466
6
22
290
56
919
46
9
688
397
23
949
152
930
39
389
207
331
967
71
431
654
614
769
24
960
798
403
847
546
825
920
794
541
253
134
916
624
195
820
359
238
658
621
269
842
577
742
316
629
285
979
369
691
100
377
171
752
634
671
559
470
182
746
890
783
243
505
868
941
857
940
876
662
896
677
251
328
900
943
702
259
350
756
186
861
485
62
126
915
927
753
814
324
372
732
198
424
599
673
28
319
851
726
513
814
423
184
214
193
947
19
911
479
437
320
542
846
605
846
159
519
389
333
1000
868
856
711
445
357
902
111
598
718
203
371
703
967
945
797
400
900
704
65
95
297
722
510
337
341
507
506
183
720
341
297
945
431
805
405
610
590
872
735
488
432
470
550
315
242
674
804
110
210
840
702
610
10
78
942
960
503
402
840
657
100
817
411
470
172
357
512
137
407
792
394
192
151
316
317
183
586
54
432
887
55
594
787
857
989
112
130
787
639
863
194
736
273
920
250
202
581
137
37
403
775
171
608
904
285
337
249
886
990
750
396
957
672
914
369
366
719
468
848
925
150
277
225
679
729
431
371
633
235
13
876
431
14
669
557
894
525
136
843
776
968
871
702
906
981
843
899
147
76
361
743
214
723
544
931
497
934
662
742
429
805
115
648
858
697
261
322
130
664
647
162
252
277
458
700
621
214
161
687
269
875
382
203
468
773
29
912
863
680
563
419
991
306
91
780
153
821
659
374
149
664
714
725
294
891
213
383
470
797
267
608
713
645
532
466
976
137
759
896
259
682
81
471
265
606
626
838
78
211
980
311
180
970
913
662
239
228
479
941
737
480
320
64
452
674
522
987
248
14
876
510
383
426
767
159
796
181
201
110
405
187
665
850
513
85
625
100
810
620
474
562
311
715
626
190
801
290
315
54
13
161
335
297
801
270
626
361
46
117
106
441
885
470
645
64
126
378
369
816
391
36
772
483
614
285
275
310
1
398
919
650
465
329
859
988
850
791
230
249
947
366
704
313
461
345
768
875
554
159
367
127
560
61
32
293
791
189
31
649
62
267
433
567
760
964
130
24
792
385
74
217
714
254
942
183
735
74
457
786
11
991
379
40
866
112
982
484
142
766
467
288
856
567
339
771
764
141
250
324
218
112
177
55
904
229
117
58
683
555
640
880
763
263
771
642
854
919
651
255
806
79
353
373
454
651
49
18
49
762
434
309
700
799
946
382
722
875
883
337
620
234
910
51
750
1000
844
751
349
244
847
558
699
542
296
574
722
97
695
713
140
997
960
167
696
388
276
312
588
158
521
888
418
264
948
496
458
938
407
811
978
855
893
406
694
801
625
790
154
489
174
31
13
976
376
381
700
530
910
393
940
936
443
382
972
921
193
457
41
836
604
32
955
753
604
423
58
865
532
111
972
457
445
278
844
728
941
491
648
442
44
775
295
715
964
878
913
260
758
207
692
47
989
791
103
641
521
642
137
485
454
23
459
961
69
503
1000
382
334
121
572
996
185
639
560
647
308
655
575
29
601
289
267
331
850
278
137
651
392
563
290
784
717
867
556
827
4
365
292
601
596
248
503
75
256
877
593
794
873
293
213
830
944
7
156
926
784
387
190
315
905
450
74
136
420
547
697
533
653
250
471
276
337
721
619
170
952
15
7
627
743
10
467
527
939
166
404
867
524
863
591
793
664
884
675
295
575
490
905
248
150
628
970
474
182
32
658
224
347
389
235
780
452
241
76
912
592
58
87
547
13
700
896
340
428
565
599
780
490
849
129
114
911
673
910
623
473
338
564
738
754
576
839
60
996
474
847
613
928
705
929
541
731
785
163
37
588
367
603
500
413
966
837
786
426
125
339
959
219
729
390
114
824
68
64
699
95
331
869
258
409
345
177
670
265
793
483
759
897
631
877
633
416
77
857
213
301
407
733
217
296
750
459
257
908
200
657
856
708
903
982
879
610
173
723
316
141
333
755
400
455
727
484
760
534
272
466
682
552
985
741
572
897
173
756
420
665
324
918
379
791
330
486
584
128
331
475
997
894
342
719
349
940
849
41
245
150
701
732
95
154
985
187
834
231
14
592
307
911
238
13
801
316
637
113
458
758
145
979
177
398
734
230
211
88
69
654
859
637
35
105
512
827
55
310
890
478
807
501
418
732
865
535
604
528
816
242
731
911
616
293
336
435
293
790
782
423
640
103
665
242
170
257
935
87
484
264
394
981
122
395
650
839
175
311
717
462
159
362
185
279
158
109
289
525
817
322
272
243
544
278
149
227
189
174
343
536
560
869
712
705
336
967
145
174
364
463
274
701
840
790
818
760
591
119
750
1
518
202
778
848
297
861
594
254
566
496
979
406
190
603
111
931
655
346
387
764
281
717
617
395
749
636
752
622
373
648
153
331
664
536
9
21
2
261
716
22
628
108
886
357
760
848
208
209
383
996
553
833
106
963
554
517
576
20
398
924
95
515
716
696
474
690
260
762
646
802
541
159
259
979
694
515
251
395
654
559
442
877
110
151
273
64
860
382
141
535
865
183
221
163
762
815
267
63
634
268
656
151
533
355
863
258
656
770
604
180
82
915
145
839
666
650
650
916
37
403
981
968
619
298
73
26
282
18
854
122
516
165
697
10
979
752
568
608
932
318
334
293
298
836
215
283
65
271
966
758
312
111
179
260
399
712
72
156
758
575
186
676
296
988
729
46
613
583
683
803
126
456
390
214
723
446
54
59
738
75
484
732
899
412
450
724
373
837
228
90
223
267
248
407
346
914
303
75
502
56
411
564
77
627
277
317
86
640
266
623
302
601
932
688
497
100
473
513
555
719
880
975
585
214
206
645
241
743
118
500
171
494
803
652
886
711
416
615
366
531
425
439
406
468
679
251
51
626
474
334
460
958
682
939
193
950
799
400
230
130
816
993
983
725
968
211
210
571
755
758
984
154
100
632
834
236
158
124
754
101
57
412
18
879
845
715
651
745
990
638
965
65
44
430
774
713
529
354
795
847
639
278
245
412
120
891
848
508
549
654
301
567
291
710
737
949
627
509
890
186
855
810
472
605
744
78
726
453
332
8
260
999
923
88
32
278
98
623
793
291
698
633
397
505
42
390
109
443
70
126
480
997
736
630
374
856
714
23
503
104
406
1
140
601
334
228
748
248
200
357
940
600
303
367
507
601
552
533
279
371
989
342
203
116
630
104
365
205
404
864
626
380
167
407
162
887
86
863
507
34
166
394
587
313
333
977
866
754
276
104
946
638
213
522
867
22
838
808
937
801
973
639
106
184
880
135
792
541
745
529
578
522
581
717
409
279
707
967
732
343
965
164
534
469
75
498
374
307
858
415
346
283
584
14
324
499
365
768
13
744
344
631
76
969
395
137
54
677
223
26
890
739
997
342
596
76
148
684
39
502
534
476
844
767
962
720
157
522
954
656
364
469
745
189
905
451
694
699
994
618
733
91
406
66
962
545
479
577
237
456
153
156
448
447
147
76
192
228
362
58
702
256
227
21
254
837
951
567
718
339
622
4
570
657
634
214
493
929
234
162
617
767
808
154
569
966
161
218
773
696
206
151
841
725
362
833
489
68
525
386
136
781
600
634
222
337
473
104
349
109
776
520
523
24
954
301
145
382
957
120
919
143
342
973
492
757
693
512
488
731
51
650
563
694
460
559
265
668
866
198
752
630
299
498
889
208
728
137
850
537
990
612
109
891
943
967
621
676
346
128
76
781
14
223
331
97
452
692
535
176
558
262
965
682
930
27
336
244
10
23
180
787
576
651
891
245
79
228
248
776
932
765
481
273
149
788
512
6
640
661
555
680
102
382
126
63
649
288
415
628
251
458
98
288
617
813
934
430
349
145
901
914
86
306
197
609
885
805
184
346
255
917
213
855
114
220
335
396
442
133
91
295
531
657
930
518
572
13
328
773
760
286
332
348
251
487
98
39
37
702
956
96
289
88
689
41
773
534
981
597
718
749
486
744
884
377
510
60
679
497
135
142
856
537
466
829
716
180
800
402
747
333
737
698
347
592
631
303
583
938
331
589
968
585
867
406
860
992
575
628
434
64
196
625
100
490
617
942
900
948
281
128
678
673
754
708
746
484
581
738
374
911
357
266
674
513
885
271
345
816
412
345
311
555
176
470
500
80
939
697
891
830
739
484
456
771
826
699
859
571
655
39
554
65
825
714
474
252
68
756
628
682
752
273
734
581
869
265
495
475
140
370
228
391
711
69
363
947
883
415
721
764
465
300
621
656
623
670
571
33
551
829
718
763
916
191
307
504
752
376
78
208
436
590
943
11
434
563
276
248
736
175
868
683
300
78
913
344
346
244
393
525
76
383
912
651
212
619
279
670
782
630
182
571
760
688
841
434
462
724
865
141
101
525
447
520
549
703
612
211
131
882
508
994
226
852
611
679
576
105
276
889
450
247
306
250
222
280
39
558
527
635
31
470
861
143
554
139
382
836
4
19
736
581
782
731
912
91
389
499
475
746
268
167
85
32
395
210
812
110
755
481
658
200
601
650
598
991
840
432
672
279
978
723
877
357
788
713
117
490
310
905
45
968
797
690
401
801
972
840
366
144
337
794
538
891
266
123
355
716
357
934
178
36
785
238
807
958
474
532
883
354
496
908
491
556
449
49
304
72
518
332
766
907
556
124
128
747
782
53
658
310
654
668
963
620
40
447
154
835
67
551
552
518
940
65
730
931
576
730
940
994
98
325
402
75
138
932
520
621
401
280
791
7
132
260
81
616
982
465
997
350
240
336
250
224
581
50
289
678
274
838
996
538
245
790
880
316
553
552
63
674
573
519
309
437
636
291
494
487
970
154
207
250
517
314
633
241
615
479
449
327
602
82
257
926
89
169
979
382
49
487
717
126
884
808
817
35
307
907
256
636
248
881
25
376
941
701
874
238
66
989
640
378
58
6
402
318
734
761
859
448
938
955
674
248
248
213
984
686
682
671
937
713
941
537
895
634
980
664
898
403
599
561
88
579
303
471
60
746
893
360
522
702
134
678
219
615
353
772
814
635
39
673
297
179
317
793
549
207
689
744
878
320
594
93
709
458
133
384
107
300
764
144
512
191
937
932
845
601
347
703
173
637
998
885
220
112
287
619
340
25
122
522
970
88
459
230
255
99
703
684
225
560
161
814
885
903
71
836
619
122
788
845
549
362
368
767
883
265
161
40
822
474
996
541
303
693
196
435
711
171
2
567
695
284
892
976
405
118
971
899
792
640
831
366
84
45
249
126
187
382
657
156
587
371
594
475
219
631
223
317
939
204
576
975
456
338
393
785
10
991
313
810
669
404
672
709
833
395
376
217
433
751
148
397
347
171
936
542
761
780
439
204
573
120
501
320
403
885
606
830
517
396
810
489
717
950
240
794
296
743
721
108
249
16
174
45
263
440
183
183
415
523
538
969
165
11
607
471
941
816
106
271
582
16
237
373
936
849
140
467
177
449
341
276
765
239
193
986
534
564
301
971
96
116
585
107
582
167
951
984
783
439
486
227
903
685
729
965
467
702
845
201
416
551
475
474
41
204
588
731
226
721
971
785
387
315
822
56
649
354
543
580
6
408
983
415
684
978
306
627
459
387
141
46
448
675
895
828
747
983
921
676
357
94
753
231
34
247
748
777
47
342
316
883
351
913
358
37
340
51
666
623
186
558
812
828
735
180
502
201
83
741
437
613
228
336
493
306
676
529
424
576
457
683
352
394
774
108
29
918
456
735
220
413
405
390
593
601
527
570
179
794
961
797
820
496
9
287
987
319
845
644
50
180
954
743
357
730
249
805
449
891
992
871
377
199
976
578
351
349
886
139
884
7
430
933
198
448
568
941
890
60
195
559
777
63
658
974
380
98
820
398
733
440
748
907
80
714
723
582
538
929
961
882
2
540
352
956
396
34
559
659
879
220
997
602
777
21
622
449
792
34
899
55
544
583
63
736
592
274
550
126
875
280
499
642
944
756
332
503
444
760
749
637
65
60
880
580
558
995
983
634
504
376
825
152
217
12
780
784
535
62
805
943
300
867
624
517
992
281
890
107
330
850
608
621
650
326
813
152
534
150
357
421
448
504
658
952
143
478
451
359
171
682
892
775
157
383
854
513
405
865
891
499
5
245
134
872
843
423
352
453
840
195
481
405
292
815
236
547
398
434
794
232
945
944
137
617
640
700
371
445
758
487
220
173
637
878
945
385
17
831
124
964
403
966
112
412
421
458
476
36
619
917
407
484
263
915
906
216
484
71
544
94
549
712
713
196
119
177
603
351
124
776
570
635
254
242
172
275
157
314
922
964
141
689
716
596
536
208
961
818
911
574
695
606
41
294
326
263
820
835
204
874
353
145
931
256
99
828
142
869
231
228
553
6
370
625
191
788
458
531
81
163
817
818
125
148
368
38
568
8
591
815
208
938
41
661
488
80
137
874
708
382
512
489
828
899
417
347
803
612
552
473
924
736
219
891
382
814
875
902
178
570
23
623
520
623
838
296
55
695
126
456
658
845
976
565
993
629
977
116
729
791
947
557
141
259
944
562
778
771
725
357
47
391
948
810
829
568
114
944
712
147
698
397
26
916
931
79
631
865
458
968
312
309
419
528
741
442
573
726
167
669
741
990
399
285
195
741
185
689
623
338
799
309
932
343
488
901
492
47
462
643
363
100
267
757
676
899
704
980
635
112
959
291
507
362
214
746
596
607
834
146
410
220
153
508
165
89
6
35
301
353
398
300
915
512
143
917
894
745
847
797
46
226
394
457
720
115
911
503
239
687
303
556
977
759
600
392
67
155
727
11
506
485
843
663
944
889
27
607
502
747
937
546
804
556
60
179
784
328
266
334
975
859
730
460
693
219
688
54
949
609
125
760
979
516
244
475
10
744
504
772
223
483
57
355
930
20
667
61
658
123
597
123
172
365
449
41
453
881
686
406
339
142
398
475
794
330
893
89
790
802
866
821
353
977
215
824
659
666
63
956
961
523
186
173
718
824
822
85
590
210
814
799
794
398
115
891
949
113
982
397
699
641
567
223
301
491
216
273
889
623
509
865
313
555
957
761
280
493
323
201
36
274
736
894
969
543
108
816
338
76
900
14
779
574
933
344
377
567
772
236
863
302
197
95
939
611
403
950
805
780
870
285
736
412
301
787
937
93
620
907
978
441
787
717
823
795
118
540
824
321
864
212
121
844
21
659
516
49
763
650
276
7
408
238
304
157
531
380
750
989
701
696
480
670
336
125
755
759
318
495
107
991
362
661
687
822
595
931
269
57
446
926
718
424
743
927
938
399
856
1000
263
925
851
873
773
949
845
637
264
824
220
815
448
727
884
250
511
191
530
548
326
751
714
554
453
470
624
407
582
807
612
278
199
917
918
813
80
917
518
614
680
138
718
869
611
636
914
349
166
486
948
565
309
538
601
840
601
284
77
381
331
501
772
264
463
132
242
350
136
648
17
815
106
776
865
876
941
76
164
781
786
278
256
857
188
719
96
668
842
473
986
921
100
964
939
801
717
966
51
813
670
884
261
81
796
127
86
249
650
201
188
819
260
865
164
773
377
346
567
819
414
121
930
430
529
217
587
151
188
362
106
298
121
514
486
271
786
535
633
186
347
754
248
428
675
231
959
38
86
330
435
525
371
50
261
858
148
236
544
861
743
392
599
198
614
310
536
444
776
180
292
508
834
109
429
771
5
242
22
908
914
794
109
281
88
337
440
171
785
620
740
891
204
78
294
982
188
900
422
295
255
225
345
753
134
569
999
945
60
95
601
573
702
685
154
904
15
74
621
65
232
509
188
982
913
470
926
224
262
10
122
841
884
196
774
515
781
907
27
990
671
23
829
810
632
623
723
843
684
381
480
930
149
758
229
277
553
968
846
879
365
936
632
352
128
623
723
36
355
161
248
124
138
239
998
885
572
16
230
737
959
671
303
69
233
349
18
200
212
900
916
815
106
282
270
539
131
927
201
44
269
677
173
252
919
141
77
710
678
409
282
227
547
158
314
160
620
67
265
568
705
348
654
586
398
938
222
986
848
557
44
850
803
406
457
702
573
761
482
242
240
95
850
13
749
624
262
977
558
411
222
973
135
217
631
467
934
313
351
839
428
382
123
680
394
442
512
231
956
465
98
139
784
968
699
166
465
429
253
352
305
772
927
397
716
570
113
725
910
815
246
733
837
320
797
274
167
823
370
267
656
900
550
663
417
635
65
686
451
777
830
389
302
845
687
88
838
192
962
153
994
585
520
983
745
235
630
721
726
568
800
406
693
201
722
831
429
764
580
310
822
224
313
937
574
299
823
679
384
427
778
846
557
474
368
18
652
70
339
555
189
979
671
163
457
434
527
823
136
699
451
578
808
444
372
298
399
700
655
564
299
242
294
230
141
280
365
61
267
232
9
90
469
177
565
965
900
303
931
631
988
311
884
133
756
242
869
198
216
675
742
516
406
561
24
339
186
226
518
69
144
238
549
16
819
899
642
399
983
94
218
963
908
107
762
290
391
814
938
1000
785
334
376
561
473
835
154
346
1000
691
569
915
551
594
400
237
610
545
755
712
362
879
516
400
897
586
573
838
315
263
315
171
599
938
313
101
533
868
695
337
986
194
544
821
613
938
491
963
373
468
816
553
335
964
565
793
879
843
585
105
764
359
926
1000
546
817
769
284
447
896
872
344
117
622
561
46
680
425
450
49
81
518
404
975
35
593
736
923
802
429
274
265
613
552
715
557
819
541
657
628
726
904
770
622
652
716
873
819
964
367
61
588
688
838
636
679
867
892
305
399
985
456
1000
896
632
236
732
916
80
338
75
892
595
213
234
173
120
799
177
523
419
119
971
751
913
908
278
512
205
76
969
815
718
953
933
795
987
262
463
619
865
762
49
197
313
292
10
532
535
757
163
129
865
218
651
879
278
837
111
213
333
894
623
150
109
472
233
31
1
699
412
389
251
614
516
401
739
845
142
788
873
273
315
884
375
767
598
819
393
907
541
414
640
331
374
426
186
948
471
259
153
847
937
99
766
107
570
719
148
128
619
868
798
308
964
241
899
79
801
522
493
371
470
880
55
559
813
605
239
800
314
278
336
500
332
986
547
290
947
594
301
527
269
61
631
830
590
48
150
559
441
879
221
491
403
14
749
136
541
747
428
290
442
842
360
461
159
117
756
715
766
823
761
386
902
799
578
797
371
977
726
845
857
813
669
836
820
598
71
458
930
414
621
132
733
716
711
299
830
106
235
353
517
924
461
76
711
685
200
392
989
216
498
195
745
620
661
825
783
793
740
456
153
320
504
345
686
991
551
369
445
79
424
769
302
762
519
327
914
769
138
496
679
397
234
123
626
559
292
519
803
387
292
549
447
234
918
358
97
636
975
68
870
889
517
533
322
421
311
798
651
80
88
428
532
782
482
290
545
695
708
668
958
288
770
844
640
137
468
373
987
318
515
353
69
585
874
898
619
321
782
904
126
401
23
922
45
702
699
636
35
987
148
4
251
274
664
584
914
624
364
965
782
451
897
499
695
122
685
711
62
598
17
893
8
301
667
359
924
236
629
777
321
630
231
784
228
992
108
850
834
555
524
942
732
511
44
116
913
333
878
586
590
721
57
167
73
409
218
249
136
148
938
632
782
648
485
585
841
201
319
512
611
961
921
448
596
597
331
408
490
141
281
323
698
362
968
862
98
945
323
963
211
71
88
318
655
730
140
345
564
270
288
427
627
195
182
324
562
237
92
689
124
27
35
576
179
524
156
670
13
498
302
712
793
943
470
287
998
326
163
663
755
926
730
891
204
339
437
712
430
448
369
143
31
743
251
772
109
911
937
914
289
53
620
781
441
689
783
709
891
985
538
337
271
254
265
338
626
853
416
911
32
49
926
839
775
281
926
278
91
546
352
877
587
272
609
11
683
159
666
115
900
945
813
161
332
937
872
289
407
481
800
485
916
215
497
991
349
87
101
826
744
649
235
373
654
19
447
526
315
309
574
282
783
975
876
968
638
759
573
557
812
404
818
615
267
291
290
473
514
529
271
174
437
754
534
572
468
143
378
721
955
639
910
371
448
469
997
923
728
351
378
693
629
641
96
714
85
852
750
581
378
607
52
32
285
87
870
79
634
499
184
487
845
872
408
317
160
779
111
71
599
185
478
685
190
706
756
275
615
9
553
46
229
926
85
226
382
180
365
257
25
233
914
696
900
897
755
462
1000
815
357
125
568
824
689
913
640
511
763
983
19
969
871
295
618
908
201
118
296
752
700
802
686
310
850
934
13
946
480
447
576
878
863
515
388
421
139
346
455
514
527
67
307
849
871
965
695
260
832
279
806
822
438
567
973
286
741
477
603
32
77
346
973
757
778
679
608
459
217
992
218
129
749
909
512
731
468
668
787
685
671
400
887
91
589
641
948
344
264
528
422
634
387
59
970
64
568
608
194
755
760
600
637
376
519
903
114
972
339
999
237
853
585
470
957
554
431
671
31
567
761
696
602
629
231
945
491
831
540
640
386
706
499
609
814
785
668
556
722
768
166
801
480
617
773
189
361
379
569
438
888
469
200
725
957
480
284
709
320
345
638
504
818
782
750
348
767
549
363
847
997
956
152
679
383
473
180
636
112
28
264
681
581
773
408
482
540
667
210
546
50
243
475
612
880
276
354
487
201
926
957
835
831
80
766
762
823
282
157
195
880
627
989
175
964
438
542
182
439
375
39
521
300
850
617
608
331
302
874
736
527
896
88
513
771
699
757
713
522
232
373
715
230
587
255
54
323
940
808
872
829
426
800
213
168
773
124
156
165
40
34
797
134
62
29
915
699
944
401
996
130
58
974
937
113
481
675
387
278
795
442
164
280
463
395
597
938
739
333
986
726
235
414
562
908
801
282
474
756
332
12
385
558
503
996
156
606
162
278
4
926
345
929
212
300
389
735
186
44
686
894
191
70
942
390
566
6
673
433
627
520
821
693
728
561
34
26
146
899
138
85
569
236
779
476
948
143
48
117
420
269
105
59
767
580
524
326
685
870
69
246
671
434
123
341
962
570
815
112
325
534
188
917
905
694
416
742
564
859
157
855
296
213
631
213
408
831
899
19
85
504
117
11
871
480
260
906
372
776
912
927
174
897
244
468
574
200
233
801
236
595
498
157
264
993
883
666
551
704
38
390
427
990
835
147
815
109
378
890
106
463
768
175
908
955
503
621
697
213
638
376
114
148
346
261
362
205
555
686
670
750
711
426
311
264
533
47
21
413
805
107
935
591
914
258
396
246
806
16
30
146
507
307
551
765
156
807
601
132
755
784
816
804
485
373
983
128
469
180
794
557
357
685
272
630
935
181
324
120
257
866
293
13
456
276
580
197
498
473
605
198
602
252
419
851
968
178
278
529
749
434
333
453
902
320
426
638
689
721
620
224
95
24
739
322
370
780
652
999
240
852
499
683
57
950
324
136
311
181
825
74
483
720
83
688
169
784
121
603
770
829
123
244
818
304
985
223
184
355
612
82
986
583
48
675
25
340
87
535
952
59
497
804
188
819
349
699
806
679
258
16
223
299
495
895
554
44
84
901
910
51
936
516
755
731
40
280
685
774
524
161
613
17
109
212
439
481
146
200
689
440
923
713
512
675
399
160
680
925
852
225
913
154
205
581
922
416
928
81
89
26
497
237
548
230
370
513
776
770
308
861
485
591
658
951
736
411
910
776
701
40
439
639
443
159
845
67
396
692
717
845
999
86
964
203
40
537
81
170
852
669
843
233
457
251
965
746
93
286
192
978
366
210
162
313
411
996
102
830
60
680
99
480
979
188
270
83
147
383
589
657
843
924
544
925
527
887
73
451
598
64
408
486
42
550
573
532
419
502
275
589
454
946
844
245
735
101
693
102
701
8
484
483
96
143
839
30
586
320
953
595
45
402
897
742
336
288
785
348
37
146
198
980
706
130
437
208
706
662
235
546
554
894
548
464
36
147
902
804
49
979
575
961
229
16
587
405
968
834
52
471
331
998
975
859
724
826
964
952
905
567
669
876
73
458
962
241
315
566
7
589
670
408
425
922
405
88
668
83
892
94
591
415
641
961
953
853
622
716
250
535
11
401
831
99
892
988
747
52
220
689
136
995
598
19
267
22
8
929
509
329
670
39
655
897
614
236
962
157
410
942
249
695
707
928
165
372
905
841
470
753
324
564
835
321
689
95
152
811
619
891
827
876
89
522
863
477
475
51
790
596
930
745
681
313
274
627
515
877
514
885
194
84
389
343
321
238
62
51
689
926
179
524
106
129
39
347
770
460
560
635
921
915
34
338
915
118
429
477
173
925
125
187
677
197
519
883
835
707
914
932
547
425
455
995
267
900
633
584
699
36
94
437
509
341
24
37
115
642
419
992
168
328
900
963
821
421
565
596
254
168
575
172
226
371
756
740
585
403
578
138
808
676
217
602
615
377
336
646
621
436
358
510
814
11
747
761
373
283
779
544
944
953
817
598
67
662
901
381
859
489
796
565
422
782
267
699
687
860
472
78
588
519
821
729
502
874
572
913
879
781
714
791
867
975
420
684
514
119
431
887
834
137
300
142
604
578
302
686
289
256
188
245
877
92
684
489
744
909
774
218
878
902
379
999
937
646
973
58
627
812
78
981
862
192
314
180
983
258
882
141
87
218
924
178
189
494
212
813
466
563
995
893
355
394
643
279
626
59
940
254
845
650
478
806
831
357
644
597
826
378
99
732
77
386
493
416
454
411
405
191
555
352
111
759
442
787
888
288
825
412
967
718
999
211
141
832
324
428
301
729
368
508
850
943
66
436
16
628
469
333
585
116
650
726
485
687
369
660
912
577
943
685
442
66
573
822
661
22
47
787
374
404
381
120
373
44
407
384
99
499
785
261
238
869
187
184
462
289
659
167
82
194
270
569
304
583
220
900
189
237
492
140
149
253
5
738
16
319
978
139
279
855
846
667
104
560
695
637
116
860
585
802
739
526
579
641
104
982
522
525
141
902
856
507
487
285
820
335
272
534
411
302
698
48
375
702
521
407
334
21
247
572
867
425
847
402
985
790
311
408
2
281
171
917
214
457
439
695
172
974
57
669
581
219
44
580
12
653
10
278
696
164
626
914
619
526
904
441
51
894
878
693
391
335
380
813
936
605
122
939
747
704
236
883
328
284
734
987
205
650
121
474
845
899
496
387
556
753
86
652
142
749
45
861
134
771
788
169
352
344
842
48
398
710
400
743
445
489
348
970
340
627
521
766
612
429
319
444
440
676
658
277
37
243
402
881
160
174
48
272
679
839
463
196
220
705
898
695
908
225
314
770
139
528
338
684
137
940
768
685
779
810
624
897
780
786
198
676
889
461
407
24
182
262
32
518
875
575
115
790
357
336
842
802
288
764
748
45
666
464
979
296
780
887
630
775
788
983
902
372
498
965
929
109
598
287
647
177
164
277
998
654
826
422
109
532
331
923
818
749
595
998
47
745
549
375
117
459
208
561
7
808
432
770
958
400
803
823
586
679
859
981
834
717
727
385
694
610
806
728
594
809
760
863
770
721
540
247
728
627
525
551
98
289
168
288
831
621
730
8
670
446
772
470
282
680
80
236
262
247
631
245
448
639
984
324
653
330
255
5
956
187
415
708
155
592
225
101
848
260
542
445
893
626
82
783
648
246
995
145
498
848
744
337
662
589
872
446
146
533
194
948
52
626
853
191
115
217
431
36
486
727
45
696
291
169
913
108
414
86
403
744
294
888
990
380
273
733
851
216
149
844
59
693
174
608
472
491
681
898
432
502
864
768
363
13
62
135
154
934
16
69
36
676
180
45
257
212
162
905
468
906
753
265
198
947
795
825
164
605
382
351
458
72
460
124
851
337
942
270
539
439
876
732
664
398
11
577
867
348
397
981
932
681
244
486
311
523
353
90
942
465
884
286
330
315
77
445
269
530
825
818
969
142
674
6
568
235
901
957
210
434
819
422
909
473
341
323
395
616
153
692
43
613
546
656
729
883
58
447
200
866
633
588
90
794
881
186
280
679
409
747
636
959
889
55
562
86
701
410
949
322
526
992
285
128
232
165
708
838
754
326
714
773
443
276
116
527
536
158
557
942
969
730
587
206
775
110
852
566
664
145
421
407
228
270
676
805
371
22
448
241
234
420
294
820
856
30
902
245
275
873
618
756
582
293
991
468
692
508
75
815
246
879
908
326
92
826
264
578
265
946
279
979
258
116
1
956
617
263
278
274
607
68
623
428
741
52
895
502
497
396
661
453
392
358
110
498
935
327
253
201
650
422
939
853
489
16
894
999
493
730
611
256
444
240
404
138
626
733
354
236
526
932
215
931
469
420
525
825
712
408
351
170
503
202
86
910
959
345
698
378
389
834
644
293
882
872
448
495
530
307
571
728
686
324
812
900
14
931
904
459
913
517
380
904
107
66
61
24
786
613
723
118
724
205
561
345
222
904
127
335
548
362
279
377
797
111
541
823
732
982
948
827
223
18
132
171
354
821
903
730
139
526
35
84
51
506
316
874
257
458
180
774
511
738
387
376
180
706
298
837
743
331
257
901
423
536
477
761
308
559
610
307
452
147
873
466
930
511
208
739
794
813
446
511
170
407
860
424
502
177
832
871
78
93
537
714
541
556
717
419
15
163
649
113
895
310
318
522
50
413
708
342
435
624
841
378
630
599
860
682
861
285
37
6
427
685
40
136
260
275
194
14
562
58
725
164
84
274
212
562
601
399
531
25
605
401
597
143
35
186
136
980
134
769
495
95
136
16
275
891
566
695
144
975
384
218
788
970
50
643
330
194
896
462
961
714
830
230
734
559
505
310
655
280
562
885
275
622
451
930
949
831
658
979
808
960
830
423
297
618
456
520
791
808
242
471
431
814
265
747
799
672
317
262
498
376
592
189
971
818
23
900
173
452
93
41
784
785
964
760
736
104
58
922
739
318
66
489
342
356
475
359
844
366
339
616
990
860
971
573
999
26
645
971
910
669
197
403
636
603
631
381
372
915
426
440
249
151
280
338
144
392
457
723
660
167
720
602
95
324
84
555
140
316
256
947
676
830
712
287
749
329
766
505
272
864
907
151
505
483
911
418
657
640
926
467
253
298
820
742
47
824
543
810
335
346
188
839
489
997
706
968
436
316
950
677
561
172
842
777
216
733
967
773
645
379
839
162
582
975
394
728
242
580
32
960
727
479
658
556
69
455
720
370
297
284
222
266
938
803
30
99
285
300
564
411
649
596
173
548
536
964
30
551
374
941
397
610
959
147
519
846
290
490
174
916
820
493
140
230
440
43
446
614
728
553
292
869
53
381
956
5
169
379
832
881
822
591
984
630
712
465
258
490
881
409
22
627
242
176
86
110
451
337
206
451
842
68
843
32
414
573
542
280
178
737
352
697
292
6
231
696
503
93
239
742
372
805
652
469
652
208
831
293
966
368
783
530
625
119
881
198
37
654
142
459
635
256
781
168
698
162
513
74
730
355
204
24
298
85
42
953
353
38
341
513
104
394
472
973
445
419
162
398
798
894
601
191
970
410
376
783
304
494
225
656
962
600
18
868
647
234
161
982
461
867
838
606
872
830
108
763
960
107
908
962
224
751
427
159
204
730
149
728
112
102
130
247
485
814
667
107
562
840
626
953
768
67
107
518
175
79
27
659
283
985
431
337
811
511
69
807
424
854
802
519
498
214
945
100
96
491
504
317
289
364
600
102
844
868
62
555
82
616
287
355
406
14
1000
154
606
186
445
315
523
831
909
880
99
888
186
703
147
741
747
514
380
656
950
104
396
278
547
891
334
323
133
893
865
46
968
544
28
661
721
816
173
672
352
875
954
972
253
814
840
657
225
88
141
732
649
922
873
259
402
323
113
68
711
321
662
818
140
709
944
86
339
877
65
152
6
285
888
315
777
750
768
930
377
5
332
789
427
906
323
160
770
276
48
543
32
605
431
190
400
736
995
525
294
217
381
859
671
239
152
221
209
920
712
710
498
242
120
481
677
139
499
388
657
54
483
341
194
794
860
632
579
666
173
848
667
685
535
500
262
97
310
159
658
611
681
724
235
482
275
433
609
41
219
337
743
352
987
297
842
425
355
969
577
812
642
881
395
481
146
452
237
574
377
720
983
28
212
639
336
57
623
17
649
210
965
565
436
3
117
62
886
189
967
362
737
322
814
797
308
629
277
560
285
125
205
826
138
574
909
673
644
141
748
370
97
528
746
219
191
989
430
942
468
839
552
555
468
4
679
763
402
705
911
193
262
572
124
188
756
394
237
466
350
189
937
665
29
507
203
714
61
694
750
980
176
354
197
360
113
387
374
837
369
804
682
543
374
986
826
15
996
154
571
188
482
633
384
630
448
883
963
659
509
406
674
288
510
348
884
396
75
39
12
114
377
769
863
180
608
813
506
966
628
80
482
906
660
822
640
323
691
473
248
33
472
77
340
629
599
731
414
83
188
139
756
117
93
664
591
850
423
259
247
368
381
245
288
198
88
217
310
147
79
269
731
612
664
324
436
254
164
623
570
874
338
290
143
446
969
495
349
528
680
917
660
666
526
103
845
18
801
830
8
123
823
783
640
648
140
685
467
981
740
509
540
750
335
586
663
675
762
184
702
721
831
648
770
133
723
278
591
808
166
918
554
412
173
655
120
790
104
124
262
529
134
659
585
956
37
934
579
494
319
796
272
20
346
707
153
831
108
597
840
865
625
928
426
83
830
493
832
269
967
787
744
101
146
781
957
994
722
617
6
106
602
9
977
899
406
130
328
814
636
378
325
954
694
683
457
134
587
977
816
318
660
4
934
220
532
936
72
858
705
111
236
873
969
839
506
768
832
358
389
590
670
966
994
169
210
832
790
765
245
202
594
849
193
548
222
807
225
699
921
525
218
159
310
210
697
615
52
278
272
119
896
829
823
519
54
56
828
536
72
894
757
284
527
387
460
135
873
517
792
570
748
695
527
78
848
733
767
201
295
867
634
559
12
318
51
43
262
967
768
414
912
931
636
204
422
237
304
183
796
322
158
634
961
778
305
335
120
651
887
467
634
566
774
617
892
171
988
681
472
681
811
735
575
798
605
906
389
918
826
815
549
342
567
473
306
138
253
362
373
416
773
19
665
49
425
664
318
286
543
244
428
267
547
859
933
199
505
648
945
835
940
114
610
932
802
328
287
577
975
620
406
614
676
168
916
937
387
372
588
56
736
5
806
195
875
931
668
140
444
601
372
210
188
629
884
11
645
509
827
76
99
922
395
114
164
155
826
346
957
853
655
323
792
726
512
705
743
820
720
700
203
693
326
255
796
126
467
646
598
54
199
786
645
996
970
461
143
623
979
691
618
34
513
587
482
951
222
418
152
318
988
52
886
715
688
602
985
601
660
886
847
646
182
264
655
304
537
523
144
344
583
738
970
287
835
467
710
540
178
202
399
575
280
734
830
662
674
977
532
524
231
845
477
769
491
967
57
109
855
386
843
190
201
905
917
311
860
404
359
454
231
284
577
796
513
166
748
338
192
127
576
354
926
33
938
119
438
985
793
793
861
499
847
356
735
815
100
261
534
626
376
792
138
617
318
182
163
425
144
201
447
999
679
286
235
943
764
270
857
37
188
424
746
72
715
838
658
95
580
127
894
346
120
78
99
494
795
122
966
263
957
462
797
167
139
264
402
880
532
581
269
704
573
574
278
717
243
150
490
432
779
365
706
231
945
795
560
409
965
637
868
378
469
435
860
503
545
226
688
44
87
356
300
924
155
385
380
348
989
305
536
869
657
776
356
102
48
175
249
175
68
70
223
936
456
134
871
112
587
618
885
868
999
261
356
725
144
887
954
324
49
31
864
363
150
636
982
895
554
229
475
286
375
31
249
339
595
122
289
501
119
143
80
595
284
977
534
221
120
566
954
845
90
252
536
583
856
79
869
871
862
40
668
533
181
585
720
245
112
613
651
14
465
768
661
114
368
120
798
846
657
180
714
597
627
805
91
961
966
720
80
67
229
294
179
867
59
702
923
843
691
813
680
499
981
981
589
44
304
395
394
846
198
830
524
650
548
419
276
998
451
541
348
15
619
68
315
514
348
941
855
368
622
528
643
245
863
290
904
63
238
9
517
17
170
272
451
599
898
935
29
811
498
20
211
689
787
867
644
337
910
397
675
877
208
5
954
149
206
985
488
495
121
336
238
695
364
488
419
965
902
783
705
937
190
507
402
720
626
909
527
454
118
893
401
265
418
33
33
152
317
137
84
143
680
822
663
996
550
502
531
836
246
701
564
387
445
859
484
851
750
661
922
100
109
423
865
536
786
296
411
907
271
856
550
368
632
152
359
301
356
449
644
764
604
713
499
942
197
317
741
647
343
625
422
741
280
840
907
326
573
965
90
714
720
797
377
427
148
655
20
2
384
891
197
911
420
351
19
710
835
635
313
451
243
376
552
439
33
806
833
674
160
548
142
689
959
911
452
51
571
972
387
487
585
382
284
445
930
127
478
925
882
463
585
592
289
846
311
468
774
977
107
37
710
995
573
197
226
451
67
283
380
961
416
379
881
292
979
183
447
261
560
2
934
974
824
846
906
861
966
173
159
449
307
567
66
36
428
525
270
232
187
557
408
862
697
26
38
868
915
489
883
649
5
833
844
746
67
140
950
926
97
90
592
450
323
627
906
791
141
811
155
127
956
33
307
706
124
241
784
555
101
420
533
90
599
343
153
890
260
513
797
265
893
308
971
283
807
565
147
608
152
220
322
829
466
182
262
978
814
292
186
560
6
119
99
761
395
294
780
432
642
322
684
102
690
81
685
517
875
730
597
170
753
369
900
854
766
612
959
527
273
140
269
674
881
461
972
936
204
330
952
940
387
702
301
199
771
698
865
429
53
747
860
839
203
7
262
795
125
160
801
725
819
925
890
336
330
950
757
965
320
283
391
407
490
272
629
645
405
590
874
698
485
37
487
257
78
938
836
825
547
218
373
885
249
712
858
950
143
864
53
493
504
726
748
379
904
95
34
887
146
700
60
348
373
583
383
191
882
202
168
458
532
319
155
912
759
476
309
457
364
651
480
936
216
772
287
335
926
883
605
21
373
94
750
938
685
957
455
637
901
498
224
547
87
972
495
225
108
341
322
145
621
570
961
205
95
126
820
318
841
458
749
324
85
829
498
6
102
585
520
164
309
864
957
543
992
741
816
908
47
73
801
722
700
596
245
679
691
388
892
813
803
461
26
44
946
61
584
759
220
271
456
516
527
599
114
999
311
577
89
130
977
812
586
634
368
554
690
427
446
605
216
879
976
304
245
433
577
417
755
19
998
966
606
458
829
448
293
324
155
409
546
799
875
71
835
628
450
525
288
684
927
70
355
528
920
385
801
35
102
601
231
415
460
787
432
875
193
18
258
790
695
969
645
477
460
966
639
571
156
485
945
575
306
378
659
353
232
541
270
222
942
265
944
821
642
293
417
123
417
463
491
784
422
876
287
542
614
713
896
520
652
200
9
86
91
724
451
412
429
760
245
977
856
121
40
54
798
998
219
626
466
409
11
314
664
974
282
596
49
359
435
36
890
377
50
289
109
457
455
353
88
136
430
937
237
304
624
811
845
147
73
723
86
128
424
766
347
909
62
127
227
781
387
753
677
56
883
816
737
880
489
799
237
76
981
671
658
988
757
868
65
736
448
769
656
969
240
905
7
968
653
421
526
916
805
195
7
254
854
583
382
304
395
974
986
764
94
221
662
249
703
514
55
779
945
483
295
29
429
134
51
155
885
725
666
257
541
844
632
863
360
761
216
348
222
584
420
862
849
890
807
179
429
252
929
832
456
547
219
86
230
995
276
530
859
653
370
588
361
457
889
796
635
4
151
491
666
947
733
472
298
272
964
252
348
736
765
763
562
453
349
771
213
928
623
789
664
852
289
977
323
632
772
379
774
919
78
874
747
374
620
343
810
542
855
939
317
963
308
770
191
604
165
999
586
271
196
99
344
910
166
10
399
628
263
2
12
791
344
353
753
796
910
329
657
992
850
566
888
719
916
655
517
662
812
641
759
519
525
179
111
520
258
286
340
431
902
9
251
555
484
798
415
648
459
97
857
818
10
438
798
270
768
342
116
142
461
455
148
828
72
632
811
887
5
154
809
70
613
846
843
25
203
647
349
994
280
85
265
153
383
194
723
302
305
649
371
270
909
259
237
767
2
533
644
395
948
699
744
188
783
457
613
360
607
708
737
911
940
710
914
355
546
428
270
116
938
307
120
73
442
362
888
328
191
256
125
513
899
987
983
855
582
930
139
792
684
207
260
117
191
826
605
544
398
549
227
70
992
232
564
732
935
237
900
176
489
562
299
956
356
551
139
639
541
388
283
600
39
96
288
853
858
432
748
388
208
897
60
271
910
45
419
179
213
449
821
156
233
929
215
101
179
130
716
922
379
141
966
334
870
599
310
8
982
632
454
136
903
107
659
516
703
841
318
947
658
833
2
50
12
135
631
645
502
658
488
466
72
78
197
283
202
17
618
503
202
837
874
907
618
726
334
488
648
214
466
268
59
919
912
576
674
93
987
514
907
506
115
232
186
312
351
207
370
779
247
922
394
231
791
229
486
70
64
195
241
521
543
420
728
610
695
650
597
932
620
29
839
970
19
450
447
76
702
305
748
743
153
386
561
473
459
817
682
346
994
664
394
407
856
328
848
107
980
885
195
332
226
312
279
8
505
929
567
869
192
439
731
749
652
690
970
658
698
616
721
13
181
881
888
576
743
412
83
89
941
350
681
105
582
953
659
231
132
632
321
854
469
612
968
419
104
679
536
524
231
87
996
395
593
989
73
808
230
686
437
136
605
573
83
28
505
915
33
144
337
488
869
498
159
685
842
212
844
876
465
909
275
737
576
548
354
722
815
232
926
104
355
409
414
795
508
929
72
699
496
632
304
465
335
472
397
356
200
722
372
367
139
462
384
913
250
373
239
107
700
847
186
162
84
573
34
477
646
16
87
754
854
700
90
881
630
793
605
380
339
231
784
927
254
598
537
832
819
977
429
398
484
290
506
746
275
979
411
54
544
463
791
139
538
467
995
975
527
224
518
48
232
513
457
401
206
707
483
871
639
295
498
273
789
857
181
228
845
86
88
938
611
241
836
431
781
396
183
724
988
915
468
903
14
883
985
334
732
613
327
101
420
947
668
274
58
779
209
817
80
140
755
777
882
204
492
893
28
792
555
911
736
302
906
719
710
498
361
851
795
280
374
75
265
355
303
504
752
732
441
159
990
99
67
956
533
417
120
876
613
537
874
441
84
250
183
723
219
914
414
787
725
773
218
861
965
108
654
563
805
618
986
182
919
814
700
355
643
743
884
486
672
80
132
907
8
449
580
71
544
880
494
66
603
462
86
330
544
576
860
743
315
580
863
196
401
449
659
349
204
676
719
497
315
677
175
413
470
62
582
566
274
398
403
332
898
483
424
696
54
771
193
473
506
271
908
245
262
166
841
70
388
423
545
504
45
877
574
634
1000
617
411
638
315
18
584
827
361
446
740
293
616
467
555
7
916
380
924
699
983
43
843
906
55
234
732
343
426
268
749
141
515
154
803
563
872
393
552
525
156
391
699
621
714
560
225
371
859
399
84
108
302
258
19
257
521
992
819
747
1000
458
340
961
394
620
32
939
679
81
581
506
249
999
455
625
744
683
857
550
115
643
587
299
70
511
795
544
566
39
479
258
462
321
825
398
809
516
197
409
484
595
636
591
51
46
250
234
801
71
727
935
887
521
558
726
363
705
224
457
698
264
732
390
71
483
401
104
294
793
740
635
776
708
562
220
299
115
252
148
728
676
229
14
999
60
206
64
830
869
799
467
668
432
413
36
325
60
97
388
574
993
233
522
770
998
512
580
195
550
642
873
408
529
622
313
345
669
222
64
306
334
507
574
229
770
888
136
878
653
152
791
638
648
402
688
635
659
638
988
797
670
962
5
306
356
30
590
591
165
435
647
669
165
147
319
153
799
21
580
708
581
634
898
65
928
406
194
979
546
22
519
656
219
700
771
270
442
684
276
124
41
716
253
939
834
881
32
489
417
385
375
538
371
315
411
602
531
365
512
578
478
863
887
700
81
134
812
564
744
424
170
252
989
130
443
643
147
50
342
79
233
735
53
502
502
788
460
981
831
140
752
360
791
906
575
373
234
420
217
172
258
443
378
657
664
341
745
416
421
230
929
321
147
715
336
68
390
844
175
6
274
359
133
633
140
135
211
29
961
937
814
337
629
285
507
91
715
261
752
860
910
543
532
177
186
834
42
202
628
93
501
868
24
698
711
567
550
701
205
558
304
874
704
355
21
92
109
329
44
959
472
648
484
216
197
443
586
672
249
792
475
835
269
724
857
405
346
930
718
109
623
286
775
71
45
621
226
103
369
368
336
810
926
886
556
390
793
255
126
354
706
313
599
181
506
525
306
85
932
64
562
652
318
102
315
113
93
920
30
396
52
878
823
903
998
711
253
182
755
856
708
259
495
747
60
429
12
85
60
721
868
118
29
96
312
855
498
669
483
975
829
892
693
903
310
688
532
155
850
991
98
606
195
991
940
754
553
681
168
412
605
957
779
531
142
615
425
983
992
80
767
238
490
594
41
808
441
883
681
247
444
60
666
248
487
592
768
89
898
719
12
281
123
625
496
763
300
974
154
409
267
206
203
932
470
93
749
481
220
630
505
371
878
287
641
415
862
9
524
270
776
127
549
58
634
524
272
274
836
966
802
672
552
510
785
352
175
307
316
786
783
892
823
873
923
280
294
400
552
809
227
500
724
659
323
776
396
448
263
759
815
94
861
317
43
404
536
400
576
484
286
259
421
110
307
916
699
671
994
162
582
146
285
833
365
866
233
461
548
462
246
627
84
506
639
536
362
837
40
386
76
446
680
58
845
109
832
588
358
672
460
594
848
975
654
595
908
965
600
708
5
434
595
733
578
183
143
51
264
139
228
69
621
85
697
169
709
244
79
257
4
887
266
32
452
521
250
51
878
963
483
503
603
811
506
359
868
368
204
252
594
106
415
951
66
114
652
850
382
810
375
179
877
372
597
20
287
989
611
326
112
27
253
299
497
649
468
449
966
255
862
588
498
346
588
822
787
61
170
332
966
693
800
352
774
943
255
320
867
538
804
573
994
107
400
346
806
888
986
84
373
921
992
203
881
870
940
552
549
518
628
772
569
273
533
625
726
734
910
179
410
489
594
390
946
810
610
259
505
886
560
219
386
513
187
822
109
928
655
137
616
634
847
453
824
576
446
54
931
12
608
837
174
795
846
493
167
518
75
849
577
192
901
661
643
679
886
893
975
105
947
991
120
870
35
231
657
681
960
507
922
231
527
292
37
757
192
633
624
764
66
193
401
575
411
304
932
257
754
968
901
658
344
493
670
985
979
238
314
371
139
521
1000
343
976
314
332
988
942
764
286
851
747
964
404
307
904
606
236
206
312
347
401
111
226
777
221
295
487
831
627
34
40
410
908
360
658
704
928
630
241
462
620
728
244
6
951
684
580
324
41
792
817
965
785
90
610
778
185
162
81
794
532
823
311
620
761
162
168
812
566
819
486
595
326
107
962
152
496
811
248
495
881
22
394
524
118
419
184
528
797
741
940
784
847
50
40
333
217
555
753
294
437
401
982
242
326
839
150
311
974
627
799
664
146
331
410
888
428
460
599
696
728
984
91
36
285
849
854
331
908
583
312
128
22
900
855
862
8
535
723
782
445
183
932
370
132
511
112
715
166
701
999
384
951
878
853
311
730
73
267
93
117
87
655
876
169
730
215
711
708
436
327
835
995
172
128
876
340
902
500
350
912
599
809
171
854
951
526
96
754
449
280
159
704
513
5
198
428
663
563
515
454
538
654
538
876
706
869
148
29
822
459
956
333
670
774
407
603
10
337
55
389
981
227
731
279
972
757
611
635
545
457
383
957
965
14
826
905
346
115
91
22
256
141
909
392
831
241
755
759
147
634
727
148
605
877
535
636
554
477
505
744
262
420
981
845
584
150
830
107
378
31
26
751
785
592
431
804
990
698
988
142
980
320
480
293
90
779
922
424
880
160
407
911
953
100
950
155
887
303
455
614
343
951
423
562
773
635
478
748
887
559
31
941
150
556
708
360
192
864
227
75
916
738
487
824
481
685
574
73
106
535
197
806
813
613
885
270
806
996
879
820
184
201
256
86
73
695
283
923
60
291
375
983
35
829
330
291
144
562
698
922
588
291
227
709
424
624
374
954
367
687
724
245
806
247
25
854
932
480
254
623
884
547
739
929
320
744
941
69
643
226
898
401
414
220
711
643
150
188
699
13
781
634
1000
333
535
106
484
738
927
481
798
430
804
795
245
755
130
745
11
947
297
447
902
77
276
241
386
111
833
78
241
469
391
558
480
187
845
760
608
561
771
794
419
168
59
476
727
298
903
545
430
82
510
675
255
120
596
859
388
950
960
860
940
514
1000
106
861
663
998
793
493
839
438
978
400
288
392
150
536
559
224
67
47
580
487
703
240
295
897
734
321
727
695
366
522
318
548
227
151
576
381
685
902
396
157
250
503
880
704
602
395
136
126
447
687
329
197
581
50
201
428
500
590
379
151
422
985
73
53
805
306
157
101
346
58
229
663
924
916
953
957
188
508
894
655
287
411
82
591
773
199
759
35
830
971
113
926
812
325
302
792
539
117
763
821
898
689
618
693
110
459
950
326
432
911
900
679
164
28
790
70
572
199
954
281
751
437
551
874
514
523
407
736
73
354
837
856
717
319
498
730
649
29
521
603
879
84
593
945
383
859
187
196
756
475
820
820
219
233
124
138
161
771
472
236
372
143
112
508
715
815
66
7
311
301
539
853
187
805
214
390
979
750
620
660
506
535
685
21
928
204
720
429
777
957
313
957
357
613
68
661
879
180
648
744
235
681
378
311
482
256
481
702
977
333
133
500
560
387
653
836
382
367
574
549
739
399
784
61
782
780
647
622
54
597
815
655
619
504
426
542
954
380
518
127
894
541
801
563
631
212
351
925
212
737
423
174
10
817
322
644
366
685
203
210
982
722
745
689
667
486
862
841
705
489
29
531
493
370
311
224
61
278
911
24
744
404
891
881
607
577
755
419
169
779
717
96
587
229
836
29
780
419
671
888
848
118
728
709
792
889
800
351
739
113
215
576
812
854
142
427
327
160
352
650
226
567
248
397
511
605
575
340
996
129
917
647
857
131
12
941
312
507
930
518
257
923
382
591
831
549
773
276
720
905
121
340
426
490
646
513
899
190
647
263
684
671
266
525
164
83
892
807
590
482
228
475
323
258
506
779
112
751
957
377
312
980
367
659
639
64
510
221
439
477
303
165
488
779
750
773
8
818
166
244
928
688
665
861
424
935
648
915
428
592
844
194
81
622
489
638
99
271
393
15
642
648
973
137
517
570
795
138
535
332
847
856
398
621
490
172
734
205
71
464
834
409
201
985
176
613
34
93
34
191
263
697
386
376
129
236
787
490
486
768
145
877
840
471
102
669
317
975
276
173
736
451
733
311
312
326
896
13
998
818
544
896
207
214
694
866
401
986
916
517
90
364
89
318
871
956
671
620
449
374
335
463
35
587
193
5
119
895
911
142
379
16
730
581
395
756
776
144
941
127
66
610
826
586
323
738
660
271
24
426
471
727
117
144
781
638
515
876
623
495
735
812
975
983
79
958
282
91
312
609
37
607
131
409
884
703
602
296
347
781
369
216
75
610
661
893
453
46
50
308
524
337
452
807
440
45
87
890
69
158
990
823
976
831
185
186
700
497
831
334
175
818
463
560
148
34
999
416
676
805
267
261
120
565
685
614
585
739
144
279
414
908
290
553
160
160
173
44
470
419
659
731
410
486
112
977
105
913
570
116
970
579
70
96
451
36
826
407
928
251
663
204
381
392
525
70
472
656
850
371
927
989
337
512
523
724
929
703
467
775
878
15
732
77
367
647
695
346
505
276
496
100
457
311
659
109
118
687
883
80
978
533
358
452
806
704
611
612
336
701
699
731
405
919
477
674
883
554
815
114
314
709
879
70
373
447
11
587
149
559
326
139
765
830
872
678
54
440
81
934
823
925
293
690
770
841
331
283
232
828
451
502
784
325
529
397
169
549
987
231
132
721
802
981
559
697
927
319
708
318
569
989
450
831
97
826
145
664
765
475
231
686
68
1
605
853
314
204
644
783
882
414
57
388
751
947
789
148
96
211
889
6
124
644
600
141
902
293
910
67
587
857
472
618
352
455
100
365
318
183
19
930
940
810
675
493
660
562
162
482
87
25
306
102
629
650
990
855
273
187
567
689
181
688
133
719
853
340
950
758
893
532
569
26
818
995
30
485
932
786
96
231
18
175
606
234
481
198
919
515
632
771
902
549
998
752
50
257
884
293
169
484
962
139
495
246
287
282
252
373
997
512
424
361
931
966
972
422
516
730
779
716
592
932
396
718
290
485
34
507
663
890
324
531
571
14
66
46
196
812
587
16
680
309
327
719
570
1
975
681
189
999
804
869
540
899
883
232
104
341
437
818
710
675
10
656
687
980
985
545
679
896
686
672
810
421
531
739
394
834
666
882
995
377
80
214
468
213
465
266
522
416
969
942
493
437
575
868
255
598
33
171
609
605
143
789
91
16
748
387
853
872
933
852
153
415
798
85
59
939
672
553
144
322
766
610
324
739
94
154
496
362
936
541
309
614
275
48
209
681
369
364
905
529
92
735
525
654
755
419
18
130
871
47
835
307
711
356
502
696
588
466
461
125
504
601
512
287
166
660
202
167
406
555
791
628
740
599
799
683
117
518
655
548
931
851
710
630
993
591
710
6
503
949
831
789
8
17
566
24
947
909
70
393
685
729
50
59
853
287
913
449
418
68
719
626
131
378
372
176
933
930
663
222
433
425
969
236
809
807
890
846
335
943
645
684
286
490
792
675
133
530
732
818
814
396
480
686
322
774
405
338
47
766
999
287
89
122
225
516
236
233
689
240
417
823
697
277
239
478
220
450
610
300
976
380
593
982
64
404
337
585
111
130
363
98
427
309
529
657
481
279
722
939
905
249
690
811
305
60
464
818
399
884
485
417
393
516
926
228
34
524
657
679
500
566
992
601
121
591
626
267
959
461
178
334
429
811
344
921
471
574
965
817
276
652
236
405
191
701
872
463
222
826
315
412
527
278
940
956
369
906
795
290
272
215
625
235
557
354
797
707
978
261
271
923
951
508
959
600
711
65
634
212
815
342
61
47
586
387
180
423
465
29
967
898
722
103
77
752
699
630
484
309
512
956
126
916
198
442
973
505
356
206
67
704
686
822
776
424
245
631
968
666
855
514
809
77
856
524
663
426
337
812
894
747
23
638
438
362
235
79
665
395
765
246
424
639
978
446
126
880
237
731
409
829
534
721
202
857
263
398
16
616
234
833
852
465
335
428
465
315
745
335
589
178
243
142
371
197
937
796
480
416
699
16
276
862
690
97
962
798
631
108
896
140
889
975
58
126
20
830
262
264
146
319
816
497
436
244
234
303
994
66
66
117
661
295
76
94
601
703
815
716
46
677
73
158
248
712
873
654
503
237
370
333
111
487
532
88
258
106
510
137
98
532
385
819
785
976
371
60
779
990
617
671
544
205
459
311
660
801
354
529
430
670
759
737
340
45
886
389
66
548
618
901
301
267
872
31
356
444
340
574
366
832
835
189
913
556
481
114
86
620
540
331
283
780
23
473
579
602
89
391
92
960
903
827
588
102
807
102
520
679
599
58
781
799
263
755
744
288
717
585
558
762
992
532
244
92
818
279
892
74
763
750
112
865
897
444
963
851
475
640
771
125
269
113
612
692
1000
534
734
842
776
139
885
874
572
544
308
505
559
828
181
838
540
138
382
730
816
88
780
769
577
184
696
821
293
347
766
314
672
358
237
973
424
724
611
748
486
9
647
37
359
181
954
133
908
855
804
22
321
664
327
270
893
116
958
765
4
450
860
504
906
958
65
439
964
206
226
664
566
346
226
822
223
486
350
715
315
682
364
519
518
661
659
895
193
838
539
540
939
517
872
410
54
443
542
929
872
13
620
976
809
542
667
359
490
931
406
760
511
989
800
870
218
415
679
525
395
185
229
183
911
627
29
25
168
31
805
255
670
16
794
959
159
198
362
7
525
941
580
18
152
88
533
406
438
619
474
847
981
97
364
312
325
662
959
957
218
33
353
779
57
670
816
894
548
822
837
733
663
627
519
215
646
846
843
196
158
86
897
75
653
536
814
493
741
391
85
463
574
82
853
106
294
402
32
413
179
375
370
109
398
491
80
708
251
535
295
359
323
765
398
906
249
658
228
865
699
785
268
724
722
618
187
9
828
248
519
88
62
60
850
559
829
374
604
385
427
942
417
624
101
1
111
745
900
229
516
12
781
603
706
376
242
613
760
624
173
738
798
271
804
373
893
855
351
654
432
822
430
724
626
138
389
47
183
166
443
294
592
82
929
208
76
287
31
561
46
875
44
40
789
187
639
390
210
868
596
699
676
686
166
16
404
525
562
829
360
631
83
99
365
165
15
646
932
583
776
702
393
165
731
341
22
274
718
316
216
560
628
566
243
385
284
284
726
199
484
958
816
450
303
255
974
908
654
972
351
931
678
507
72
307
734
491
89
773
647
276
897
232
383
952
103
976
528
437
737
920
760
991
243
4
25
163
279
393
277
826
825
66
424
409
582
711
640
884
359
569
268
361
924
26
364
393
808
314
337
179
678
606
240
945
175
208
22
676
604
255
443
253
410
564
413
784
200
817
251
600
932
283
698
920
16
666
580
714
267
457
689
615
62
390
777
61
580
222
578
25
718
58
410
783
121
880
230
184
784
779
971
793
850
611
616
105
557
458
740
733
761
322
203
111
103
932
230
814
686
426
399
983
84
912
950
757
576
616
366
814
821
403
428
326
549
917
797
666
458
536
697
204
219
583
488
400
389
978
716
179
68
629
777
286
339
349
419
896
891
58
195
270
734
327
358
662
574
72
901
992
270
361
140
25
733
828
739
933
815
168
123
139
980
536
996
301
41
445
73
134
830
948
196
516
430
459
734
998
534
546
504
407
552
465
531
683
334
963
588
493
752
99
856
452
935
466
1000
946
653
189
633
688
195
517
429
115
104
660
145
655
308
747
392
716
482
452
307
955
8
863
202
47
480
630
845
663
545
316
296
858
785
109
106
384
473
760
255
714
290
678
430
716
507
614
88
992
725
241
313
861
969
274
630
853
861
444
804
364
596
776
123
812
682
141
852
233
736
965
312
772
161
336
551
913
180
457
645
630
541
564
500
861
179
971
406
817
269
860
730
710
389
799
858
391
964
752
899
257
779
492
739
544
83
961
728
762
770
48
680
631
156
718
867
306
118
159
390
99
763
887
660
180
313
312
677
904
615
313
512
563
521
804
646
309
416
73
818
958
327
962
660
154
373
554
650
139
806
124
877
971
517
539
677
588
690
183
470
555
222
721
12
667
650
738
844
857
567
318
944
4
960
164
436
303
435
730
768
845
70
139
935
920
495
392
165
351
847
438
1
863
465
268
839
72
515
41
814
214
290
654
375
104
551
859
34
177
142
205
515
652
69
619
11
9
378
391
310
996
457
729
314
328
854
769
873
92
275
145
928
629
236
782
657
300
707
571
687
159
214
990
498
977
63
519
777
480
742
916
862
926
117
43
402
353
721
926
1000
927
295
193
933
801
761
834
989
859
974
494
122
465
905
140
837
133
429
992
228
611
481
86
131
430
184
674
112
414
460
959
932
986
787
323
661
365
971
308
861
910
290
78
99
933
869
2
600
273
940
289
33
823
491
320
250
949
855
439
310
473
12
472
268
467
710
190
14
619
29
248
924
334
697
869
191
69
270
718
499
594
278
918
131
38
587
150
675
588
504
138
290
654
608
575
819
179
914
750
182
507
701
683
127
899
295
602
827
343
152
963
835
784
809
38
580
282
690
274
943
876
261
274
434
158
756
261
169
617
535
285
117
852
163
312
94
648
454
541
574
729
49
950
682
728
601
123
658
544
245
870
672
781
849
22
128
432
482
24
499
289
641
681
259
837
53
434
754
539
269
72
673
502
851
672
340
451
696
855
210
882
904
158
821
972
664
436
919
589
819
729
648
289
127
959
507
733
767
137
223
333
269
538
830
280
917
400
18
322
629
285
245
779
448
201
195
333
108
923
924
76
544
742
432
124
863
49
443
886
16
729
930
725
375
337
243
321
442
432
783
506
201
234
788
749
968
975
194
723
173
956
499
595
172
293
215
789
84
825
808
944
628
427
999
742
111
257
899
62
68
90
749
658
496
944
975
195
289
671
824
991
275
37
142
270
189
104
722
91
43
376
223
341
593
287
882
373
54
71
100
917
750
964
520
880
156
986
405
515
647
256
950
238
335
919
659
66
547
260
110
226
899
539
164
27
376
392
233
458
552
375
256
320
870
412
882
918
896
408
738
456
618
287
798
331
113
65
574
458
400
328
281
601
867
677
185
449
457
284
41
828
675
681
921
18
600
306
747
612
280
141
540
724
291
963
716
661
792
369
787
351
93
733
454
914
614
703
392
785
141
650
10
691
424
755
73
617
520
29
345
597
738
655
387
839
698
443
172
163
808
118
492
249
403
379
979
475
901
365
165
423
606
257
189
272
193
210
657
371
478
722
665
252
837
856
210
239
489
397
15
571
938
212
331
672
30
519
407
783
481
770
136
694
207
136
851
697
472
347
367
234
706
783
147
903
803
245
895
643
861
824
974
938
625
626
809
826
329
881
806
351
246
163
408
851
25
15
622
132
809
246
684
146
185
609
627
268
290
318
131
649
730
106
419
393
572
128
956
524
309
34
326
781
617
955
31
305
671
6
864
173
13
104
163
582
257
600
528
165
401
222
508
597
164
317
361
156
563
243
232
351
864
17
21
90
196
3
724
100
336
538
302
481
620
828
965
344
493
401
301
453
958
656
870
672
55
787
708
800
557
472
698
86
268
206
916
284
658
136
851
651
96
543
906
670
591
878
648
604
802
401
119
240
24
24
906
262
47
909
772
767
13
753
419
369
908
439
318
183
894
936
643
722
458
890
17
446
280
353
199
201
801
479
821
330
673
841
6
564
715
198
23
124
477
182
126
623
283
386
392
498
415
764
670
657
168
68
733
995
634
334
326
183
425
1
100
921
9
385
355
441
987
602
92
583
414
975
133
219
231
174
972
154
987
38
570
863
260
123
534
619
656
477
986
599
793
71
948
559
437
598
283
527
826
59
27
758
290
687
492
898
431
254
632
868
534
766
16
541
356
840
163
623
109
851
177
547
323
22
350
337
185
244
865
583
155
312
800
682
907
673
405
436
130
529
3
972
282
317
946
666
221
181
757
456
480
29
973
467
94
167
223
345
74
309
767
109
29
963
58
565
986
811
888
570
142
721
336
487
151
455
29
221
562
965
225
97
180
431
810
680
462
794
611
368
538
653
347
191
72
783
130
813
997
459
681
159
82
998
326
452
405
615
398
678
84
809
882
689
10
912
21
189
924
416
125
840
892
917
2
617
142
275
283
283
245
680
407
609
858
840
177
495
545
434
616
726
784
304
322
436
863
605
623
719
232
265
638
43
860
676
768
226
266
483
225
804
203
700
986
537
406
167
915
662
454
523
903
258
513
458
555
729
686
11
353
12
757
40
226
554
336
839
167
520
816
48
861
932
91
629
295
695
686
708
963
491
796
502
608
598
767
376
382
544
683
340
955
370
104
905
359
951
412
305
307
515
930
521
296
969
715
424
77
135
914
624
952
335
658
275
935
983
748
193
27
74
781
100
714
450
975
735
347
758
643
866
231
855
195
921
93
219
546
107
107
631
57
377
791
938
446
561
915
297
660
265
17
615
329
941
245
308
284
613
29
648
574
359
514
158
572
546
775
510
55
228
598
343
568
859
985
265
31
667
629
50
263
597
310
712
64
744
527
692
524
579
718
892
502
72
112
634
571
31
582
946
293
583
866
742
381
756
201
569
146
522
683
612
675
530
679
537
312
963
189
587
376
624
389
59
506
393
462
931
679
656
474
928
729
181
239
775
142
177
87
722
30
953
933
690
422
677
335
533
452
213
48
7
576
940
127
968
708
719
830
250
38
912
386
414
327
455
219
287
704
520
337
791
321
213
453
64
742
105
815
300
620
114
894
42
29
414
817
887
801
605
907
696
368
304
737
429
884
734
891
686
867
599
11
857
208
758
766
566
134
772
106
730
669
380
524
149
175
379
85
983
817
166
664
885
150
412
179
832
611
953
589
864
364
13
100
96
821
280
312
312
163
210
27
402
375
161
34
700
601
607
491
21
145
738
442
804
45
203
604
325
965
624
802
367
101
771
344
102
877
981
174
185
509
460
858
209
897
633
348
768
904
558
974
317
806
771
309
913
577
589
400
720
735
47
337
813
646
160
303
463
579
101
52
563
272
256
221
256
487
838
9
182
810
880
541
936
969
993
654
505
58
235
958
447
371
780
732
560
972
871
667
584
756
700
486
302
518
461
211
991
441
779
215
811
533
148
210
145
725
802
35
308
762
622
419
320
571
352
914
626
441
367
831
766
266
685
328
971
87
751
772
596
314
753
101
114
394
871
205
108
106
929
280
349
357
354
688
547
112
231
113
859
45
511
707
528
634
84
469
328
642
547
330
623
376
949
279
930
680
732
394
842
356
338
835
51
577
718
683
996
931
37
20
353
897
431
794
181
951
582
810
53
971
204
672
882
317
288
625
527
764
86
988
414
451
375
363
598
150
494
842
705
462
10
202
119
971
648
497
660
21
293
487
732
538
444
77
581
210
509
310
891
465
711
473
389
869
180
592
535
977
16
879
646
218
726
759
5
84
445
688
591
753
790
343
85
285
37
694
708
714
514
92
271
664
801
815
537
613
331
411
628
555
477
786
736
620
62
238
861
146
488
530
621
809
386
655
452
686
742
171
676
536
960
847
975
168
215
892
777
478
754
226
971
658
494
90
104
87
411
794
964
641
703
542
991
498
659
103
517
45
486
540
206
138
93
361
413
823
973
192
380
574
875
549
338
260
915
357
597
363
150
600
680
370
393
917
365
924
231
997
298
50
800
342
465
692
847
360
389
882
4
753
418
95
20
856
795
715
877
947
549
103
354
507
387
438
612
87
898
378
797
749
373
577
508
7
455
293
181
800
649
615
144
356
464
342
73
677
553
181
119
20
791
704
761
959
646
497
786
542
570
986
405
600
363
736
653
486
650
414
669
400
670
175
378
968
545
991
376
953
76
297
539
789
912
391
992
150
614
231
588
899
754
603
979
586
662
177
689
132
884
612
341
434
709
712
346
435
339
613
884
627
436
111
5
27
774
546
11
439
718
96
58
217
45
961
105
772
421
642
914
826
490
492
778
759
92
739
81
422
626
448
566
499
919
259
414
818
276
295
847
7
572
315
973
566
334
62
51
716
779
764
151
360
683
910
445
109
762
744
11
606
989
420
61
320
885
385
1
569
363
340
554
771
145
107
474
842
133
823
53
198
342
121
687
64
204
432
291
625
70
53
206
120
763
416
582
142
872
826
900
256
292
38
431
545
183
187
935
837
150
974
837
194
917
536
454
690
204
42
581
645
823
950
873
245
237
796
65
918
951
531
952
936
141
742
486
450
873
495
83
557
117
204
401
96
493
632
468
538
381
103
993
739
571
35
106
352
102
171
577
350
334
244
764
499
576
374
151
574
769
195
374
784
861
551
43
189
470
629
508
837
370
560
958
994
159
841
879
92
153
423
967
986
233
926
24
673
861
267
251
888
953
907
615
902
632
55
639
373
144
400
55
378
381
401
246
551
515
699
296
842
238
972
768
571
960
436
52
277
121
242
216
402
460
200
833
954
676
647
169
137
437
770
474
389
82
367
815
392
697
851
88
398
460
297
353
644
292
455
616
731
857
946
550
577
944
330
398
970
63
299
500
782
878
70
450
666
745
903
894
375
185
813
361
911
624
711
338
387
68
663
990
805
703
431
544
990
598
228
398
525
760
418
410
896
835
936
673
957
624
375
327
520
427
993
587
88
941
377
235
725
53
165
262
630
446
986
244
239
323
744
257
565
958
490
868
77
995
363
770
587
600
522
166
547
631
553
861
628
973
579
352
672
42
173
896
946
283
226
666
109
146
130
610
467
645
979
562
905
99
8
491
339
67
163
507
659
811
521
389
915
841
244
951
931
215
924
538
613
337
419
262
983
890
783
424
360
432
468
680
170
918
736
148
587
66
162
588
581
79
159
239
966
667
713
652
745
745
865
81
361
418
72
636
499
91
234
368
693
629
59
934
340
490
429
289
672
680
628
119
844
188
578
341
616
279
759
79
990
653
74
969
800
36
763
509
466
172
386
441
49
571
14
839
289
598
33
644
532
662
379
885
323
332
597
728
964
161
859
772
530
917
939
760
669
664
225
934
21
854
5
836
217
189
656
246
268
503
861
302
587
333
645
578
23
181
861
35
67
651
714
335
810
826
87
934
347
251
679
765
44
833
457
68
506
842
509
113
130
924
145
150
861
712
33
891
113
182
205
251
878
393
22
841
709
589
556
954
602
984
414
372
815
692
700
347
312
383
696
542
804
271
837
553
369
905
725
860
213
101
269
709
443
36
495
485
638
186
226
574
601
302
624
603
931
76
520
193
940
496
586
48
18
126
663
294
742
749
946
451
932
815
360
337
339
187
131
487
883
483
494
399
160
156
490
4
458
108
23
315
665
258
687
94
271
974
422
754
111
689
666
406
652
357
567
155
370
605
733
249
213
580
198
696
255
523
511
284
353
55
373
730
55
976
793
868
59
184
539
349
232
926
560
330
567
213
125
19
508
660
684
749
721
423
799
452
771
173
89
29
117
254
782
135
533
255
377
308
349
241
867
214
870
797
214
31
964
860
34
624
84
25
963
207
927
657
807
683
510
672
360
669
708
275
749
532
199
326
241
385
300
230
738
137
428
419
587
117
764
566
914
745
234
630
416
978
124
737
452
995
444
656
282
696
706
341
549
95
897
618
408
629
239
561
265
745
826
571
716
828
305
428
127
737
587
863
279
708
977
278
617
394
222
334
961
126
719
1
970
295
529
589
268
907
883
958
896
937
629
834
673
135
381
673
138
281
211
18
945
743
374
668
13
345
924
257
238
216
47
43
308
275
624
795
974
451
814
685
209
570
433
982
778
74
527
196
132
384
802
997
990
773
522
918
604
78
65
328
523
431
591
666
600
465
159
222
89
138
201
30
974
392
487
614
50
343
552
355
873
620
130
260
436
742
297
775
285
156
852
65
876
661
18
901
118
460
619
852
478
18
777
35
446
227
580
45
921
139
330
17
824
636
730
22
278
1000
841
73
812
275
687
116
338
682
167
275
107
141
321
497
457
90
56
480
921
411
167
442
192
247
834
852
507
888
842
708
251
705
414
343
971
329
922
16
519
877
716
734
770
45
979
871
185
334
816
111
535
474
747
216
238
387
421
875
119
649
606
651
853
477
488
668
12
721
863
206
429
197
86
811
514
987
522
911
315
987
814
123
320
79
500
653
473
800
370
239
399
248
505
40
611
301
100
790
323
917
30
292
558
384
610
43
436
937
158
361
883
71
764
892
502
201
158
807
49
90
667
284
735
571
56
126
608
681
448
464
357
261
654
559
213
427
937
643
61
134
697
589
457
171
561
958
53
565
142
635
821
315
43
825
537
807
751
665
248
43
741
68
806
29
439
734
100
287
699
417
333
465
113
666
533
468
751
251
497
330
939
385
555
327
256
700
844
446
252
624
280
388
295
459
35
747
561
997
155
857
417
931
855
85
366
691
180
10
260
578
954
23
731
237
379
365
632
563
193
525
833
127
64
196
886
76
750
740
929
246
629
181
667
937
375
288
466
365
932
246
362
352
450
723
276
184
500
894
848
925
731
124
70
660
98
578
345
300
931
952
684
607
422
917
486
33
530
628
793
818
941
801
908
573
464
500
39
177
156
695
969
454
580
117
786
515
783
682
409
59
6
995
957
200
662
56
38
588
830
294
661
684
366
508
794
62
729
92
569
506
824
209
734
512
450
165
244
497
448
343
816
686
280
469
874
149
542
885
523
909
902
733
139
422
18
680
689
938
288
846
132
445
683
124
94
955
505
964
584
867
615
988
660
23
606
515
811
845
402
204
337
660
977
516
115
899
263
647
9
356
792
899
588
132
318
218
994
172
477
744
524
550
524
789
982
778
322
624
897
460
60
793
485
531
628
467
619
206
159
525
136
480
53
615
525
713
676
452
413
384
30
14
293
577
903
69
624
133
416
703
768
709
398
126
240
158
762
30
382
743
856
254
896
723
847
267
632
725
281
304
648
184
372
560
831
793
986
949
328
598
961
378
579
862
194
336
59
288
857
895
661
536
242
866
280
221
963
975
337
737
684
369
851
330
124
692
228
801
786
258
79
122
791
555
249
9
201
436
736
204
453
865
301
815
835
21
421
571
507
885
681
237
179
190
817
794
431
741
417
166
616
682
710
444
422
232
974
570
488
777
822
389
890
986
57
842
933
785
813
808
454
612
451
768
752
358
15
52
325
805
113
863
854
170
747
702
235
558
975
58
17
771
279
447
299
910
157
982
4
652
788
637
447
914
557
317
297
845
879
628
342
750
13
979
972
585
509
290
901
140
510
93
476
852
395
273
837
523
124
30
337
830
239
916
853
637
665
954
71
602
341
891
388
450
231
661
800
610
455
962
57
604
124
666
365
693
946
469
183
816
839
786
936
764
593
388
59
893
76
715
400
394
621
94
846
291
994
320
50
896
786
193
231
406
155
647
329
676
601
16
270
6
860
882
661
916
34
658
31
495
854
747
640
893
258
675
948
915
585
76
83
474
290
781
22
890
488
552
736
600
593
189
280
909
990
853
631
795
980
431
109
644
208
689
383
20
401
792
385
217
532
462
934
401
442
704
527
598
563
554
518
653
619
731
881
561
94
468
864
233
801
988
63
864
120
313
918
533
341
124
173
592
54
373
579
665
754
230
15
830
627
746
245
626
12
269
715
90
168
298
175
914
798
919
393
182
229
411
935
873
300
914
767
434
751
266
456
340
371
268
854
451
239
654
467
379
142
983
140
841
653
549
318
151
424
107
881
569
955
934
485
246
466
259
424
880
546
612
239
989
921
981
691
956
28
998
289
554
86
525
215
744
4
130
388
920
758
956
393
619
883
376
187
975
280
659
818
809
882
592
851
315
615
635
874
773
691
709
210
546
533
189
946
940
507
984
461
129
229
873
930
485
391
415
690
80
969
805
905
89
158
52
745
68
594
711
133
829
258
185
204
717
947
327
769
647
350
658
490
156
588
3
933
67
532
802
376
127
339
630
37
74
425
701
413
194
526
261
505
352
587
809
49
857
980
24
291
291
935
135
453
618
135
204
829
442
160
493
318
314
802
598
325
351
329
560
167
243
459
512
511
940
125
711
919
907
130
11
281
870
446
901
748
409
189
286
838
552
316
43
494
815
670
249
255
736
300
663
152
18
916
722
581
862
910
780
208
920
655
834
907
581
672
276
837
970
814
485
22
134
850
240
237
367
686
993
551
523
999
11
620
482
246
291
734
623
828
923
617
280
731
279
229
687
68
988
141
821
793
200
587
912
309
992
951
116
813
155
289
980
6
764
449
909
218
112
502
770
116
586
488
166
866
33
933
647
74
997
190
340
847
973
436
23
60
469
61
702
270
268
264
95
764
700
916
286
878
182
109
954
119
509
385
265
561
611
322
481
687
572
11
791
116
718
969
709
674
487
226
603
817
617
601
576
773
910
715
971
639
456
896
239
291
742
928
746
219
517
560
394
269
612
781
599
878
206
138
247
555
146
799
729
290
34
620
94
31
749
227
592
635
952
997
662
456
908
874
466
307
669
153
649
626
228
717
885
520
795
743
133
820
718
528
256
390
938
952
784
726
36
44
204
317
111
270
40
305
714
456
443
768
65
695
689
314
563
228
235
770
409
991
523
428
786
520
720
717
635
900
992
178
507
735
686
304
401
469
34
159
715
956
570
681
702
856
510
216
867
300
739
163
774
290
909
560
632
446
360
59
857
57
266
34
511
870
403
479
175
672
454
969
327
549
578
175
748
617
278
352
827
153
260
766
897
309
59
249
872
1
707
923
560
169
612
706
962
290
103
339
776
960
821
571
89
377
255
585
955
764
210
951
136
130
969
157
795
272
200
261
344
611
422
326
963
247
984
68
542
626
71
595
894
341
178
192
174
888
911
867
335
627
686
767
324
841
118
641
483
515
454
225
248
390
391
829
847
934
35
397
145
70
535
17
173
929
145
206
156
416
94
258
72
65
629
647
829
566
73
728
199
286
519
10
534
351
65
823
96
118
112
561
585
396
318
536
66
369
234
136
19
14
554
189
698
711
123
344
322
892
589
858
888
797
609
357
537
858
50
67
490
797
505
470
537
231
739
591
944
514
404
912
421
539
462
441
506
457
287
593
287
615
341
368
934
524
632
760
865
343
946
470
753
192
941
760
747
575
772
729
449
353
874
374
206
984
873
563
221
194
396
421
842
881
698
725
140
762
630
594
539
256
442
133
843
113
334
740
473
570
443
451
103
187
179
26
167
59
443
526
920
804
251
715
814
583
758
992
962
425
462
495
378
277
654
629
498
571
783
584
194
522
486
313
165
54
484
44
60
28
395
642
201
395
807
44
66
10
619
556
987
96
737
991
641
772
715
544
28
646
813
770
553
174
248
275
734
410
140
528
866
787
734
718
600
794
39
724
73
736
913
97
666
333
1000
381
907
504
620
261
364
596
880
778
559
221
840
297
110
51
495
9
301
204
715
470
261
283
66
131
744
771
581
817
297
216
168
864
222
587
311
996
344
226
112
28
41
83
541
191
395
294
953
199
584
694
556
185
855
593
527
277
500
952
903
912
255
154
210
922
479
698
22
85
263
499
309
74
344
929
451
716
356
399
284
6
444
58
404
632
750
138
196
620
597
594
776
294
471
931
86
947
61
532
870
518
666
403
191
47
281
942
395
929
526
252
185
777
388
562
553
222
428
505
859
135
704
381
243
564
170
12
930
121
725
511
692
729
390
64
890
344
331
843
77
784
561
286
85
812
209
273
909
418
155
199
435
630
726
512
266
239
845
94
485
548
741
742
141
628
859
107
704
576
92
659
480
979
851
659
211
113
751
642
706
400
899
624
347
314
879
98
765
223
493
904
786
632
282
227
22
891
629
278
89
755
982
747
525
55
372
685
892
392
922
335
468
972
502
329
147
614
18
808
886
533
96
259
98
706
57
316
886
493
180
300
908
740
185
60
967
745
793
504
121
326
958
314
232
727
93
493
383
244
207
762
534
269
349
358
95
915
203
420
869
494
960
993
927
928
854
672
556
575
834
15
366
60
930
178
8
454
764
666
727
519
550
679
151
841
649
341
301
344
420
967
785
79
683
635
564
196
561
546
434
706
872
48
625
963
514
737
497
802
484
758
341
925
263
271
745
440
317
88
769
398
361
611
464
840
867
578
884
93
997
554
792
41
795
795
742
634
999
851
56
191
271
278
506
938
1000
888
166
764
86
268
20
431
267
688
346
313
632
111
848
286
922
750
772
568
113
483
959
152
550
510
917
972
606
826
486
86
426
417
636
991
830
648
224
629
856
924
316
768
741
576
808
247
365
888
621
958
311
302
734
589
724
168
646
839
110
826
658
271
47
423
528
2
548
638
637
134
463
396
805
238
898
731
256
198
76
193
94
420
456
583
794
758
227
325
867
488
454
521
878
336
280
546
390
854
589
96
286
431
421
739
119
812
288
363
819
305
221
383
106
792
55
223
445
221
934
364
222
534
535
212
107
878
782
149
232
505
143
378
898
974
709
601
38
166
372
155
508
118
341
938
638
895
158
364
136
542
145
627
588
663
892
742
281
322
24
210
44
787
963
641
95
64
829
354
656
353
934
799
216
264
543
621
887
129
720
317
266
795
101
754
545
51
374
241
433
235
114
469
582
630
353
395
817
985
951
51
467
837
370
360
460
389
956
249
674
321
202
741
241
314
747
265
89
23
62
113
67
890
875
825
392
536
397
304
15
376
298
635
711
780
235
891
383
352
429
713
92
827
430
68
789
705
743
390
600
961
433
276
776
91
171
979
92
301
440
239
583
867
782
395
962
577
36
295
1
667
482
247
412
879
701
180
514
92
727
155
58
469
786
649
121
234
479
329
897
990
820
576
539
959
896
678
969
643
277
442
697
191
507
953
239
181
140
339
711
631
831
713
505
784
903
893
746
627
715
120
397
160
851
753
465
147
850
840
750
449
752
533
970
74
214
565
908
761
306
358
419
257
436
929
765
433
974
401
753
57
311
834
589
335
50
68
190
310
954
461
927
809
89
713
431
945
336
475
145
69
48
33
738
694
195
211
410
149
765
536
326
607
540
840
154
728
625
733
723
330
263
799
322
414
544
936
53
359
580
3
965
324
612
817
384
708
287
597
972
29
33
122
598
724
88
287
981
214
200
175
438
983
462
502
795
621
44
78
663
485
820
913
831
115
998
748
497
613
933
80
411
947
200
180
779
538
883
249
951
556
801
585
508
58
1
560
337
486
485
303
695
52
554
188
49
247
564
624
706
22
161
200
834
214
268
919
525
425
169
123
965
878
84
725
594
747
484
517
408
52
269
677
181
540
603
50
430
843
886
431
435
859
815
872
453
490
991
977
558
826
830
273
217
388
820
976
772
266
312
929
531
886
104
31
3
620
59
229
186
688
862
21
462
606
818
469
809
944
291
908
543
320
965
924
727
350
623
641
726
742
561
71
130
862
46
76
389
852
487
482
90
833
69
36
730
814
687
157
233
665
932
921
206
931
718
310
119
310
936
496
174
338
127
896
621
201
793
768
657
623
374
370
873
439
369
88
408
855
295
477
564
326
430
873
708
706
346
70
647
571
255
593
560
635
114
241
757
755
226
921
215
339
830
269
883
879
767
180
196
927
882
178
113
92
233
501
266
524
548
891
477
913
619
312
985
263
465
287
212
541
210
72
808
871
539
651
984
84
517
392
891
310
320
299
881
782
130
920
27
168
42
403
211
568
335
658
390
777
856
266
428
532
629
596
14
244
957
593
712
142
476
799
191
868
623
506
21
280
926
355
188
641
387
329
668
443
962
822
994
791
833
420
703
691
688
68
993
581
763
560
675
151
714
652
755
810
713
668
560
196
361
135
368
735
57
876
912
598
545
973
977
357
196
208
531
253
452
879
480
295
562
414
212
310
366
804
518
688
431
698
359
780
274
930
231
844
772
382
528
963
90
317
416
592
640
764
194
270
641
100
35
531
830
693
291
274
746
388
243
654
797
629
332
78
27
241
360
38
68
214
157
316
302
393
466
562
642
606
604
388
675
596
543
860
119
127
663
751
694
739
338
969
529
953
910
347
172
137
375
374
123
907
265
504
561
631
799
408
599
593
391
888
968
391
954
219
504
408
270
348
189
579
908
752
799
197
758
716
369
250
308
467
835
567
177
921
159
147
283
730
214
132
248
974
471
280
286
104
284
216
893
672
205
434
71
988
250
765
741
93
558
6
223
306
143
513
357
226
777
800
925
212
135
641
515
303
463
696
869
16
935
482
56
679
813
321
514
784
259
13
140
332
374
123
91
323
607
170
931
320
217
493
46
507
844
249
27
775
604
824
843
146
306
914
182
272
542
665
305
869
445
586
115
641
818
344
909
709
229
221
468
569
386
721
722
363
790
761
203
571
218
964
907
325
69
765
996
150
985
484
950
354
438
999
426
242
177
427
73
980
529
996
10
280
526
376
468
4
783
864
382
435
844
144
310
212
426
856
174
903
653
808
703
737
885
474
393
286
191
388
2
798
873
121
346
417
693
801
170
763
628
582
420
212
29
987
107
737
50
842
252
369
82
363
128
152
720
17
116
9
473
988
8
36
45
412
546
585
495
86
269
955
13
988
527
634
369
825
647
795
291
737
776
222
192
493
906
880
670
756
939
149
177
468
418
96
74
24
734
245
64
622
200
14
647
161
361
356
806
61
329
187
627
682
707
830
890
340
895
101
22
521
167
600
917
548
946
474
308
839
120
193
297
907
75
868
646
391
366
245
171
787
590
810
357
967
73
348
930
268
441
900
634
681
31
331
940
656
318
583
739
122
275
282
330
591
612
572
176
642
362
909
976
642
160
107
562
300
871
68
16
539
936
522
198
220
903
542
537
424
139
814
582
405
662
394
275
782
329
185
335
257
391
491
462
935
552
749
294
328
224
20
161
245
628
874
753
76
763
75
719
425
21
858
94
642
415
665
197
597
970
905
292
915
800
701
890
1
816
587
35
409
783
815
291
479
682
284
447
725
916
78
133
161
949
272
654
600
364
960
349
964
196
440
677
841
591
102
84
819
531
838
392
631
378
751
105
765
486
505
550
6
955
916
231
306
907
294
87
505
316
594
650
672
515
649
217
264
5
648
229
877
54
530
51
81
924
156
177
733
215
966
718
214
978
327
689
191
751
915
236
938
582
308
421
674
470
411
623
125
362
468
911
287
18
194
972
369
574
988
317
49
637
282
502
424
55
840
78
545
326
191
794
979
756
491
360
640
70
763
729
34
160
904
412
143
75
807
845
397
120
685
174
586
175
7
115
82
942
433
778
486
843
817
372
606
744
654
782
756
478
277
879
476
407
798
255
143
900
981
787
379
649
263
93
856
216
637
444
833
48
442
153
757
499
938
828
337
40
153
90
778
944
689
567
277
216
22
998
450
431
412
291
111
446
663
224
685
668
867
308
603
651
727
966
217
349
218
843
126
256
167
518
334
989
779
320
301
645
274
277
805
370
565
429
493
146
352
876
139
774
97
977
938
362
80
48
581
430
162
744
512
901
913
101
473
841
503
838
416
790
106
99
893
929
623
302
298
137
172
122
703
168
182
933
580
844
884
220
409
129
676
579
9
408
129
917
470
118
369
386
700
120
212
389
957
829
673
738
195
216
435
660
703
187
443
877
306
775
30
457
343
809
892
443
756
412
791
560
875
765
73
424
897
74
968
780
662
543
153
245
17
490
274
916
990
427
918
2
6
64
73
313
598
680
227
56
411
280
89
876
817
235
372
499
129
901
212
661
209
797
544
208
281
529
243
401
858
559
867
496
20
318
646
585
703
920
709
583
294
887
651
943
554
926
219
383
848
745
286
468
700
315
310
341
962
773
163
319
230
380
530
310
717
559
119
234
486
48
538
712
788
648
18
303
277
866
140
461
50
994
317
228
752
816
93
388
511
178
223
420
77
131
128
170
334
186
513
553
319
545
906
980
979
792
363
444
159
646
865
364
731
865
759
357
360
262
152
72
125
129
327
110
100
50
119
838
52
194
658
588
600
728
65
346
556
893
469
529
659
606
207
864
592
247
172
698
13
355
60
295
267
585
692
807
653
186
704
628
333
638
606
805
499
872
643
18
953
647
952
380
71
268
195
5
3
791
265
818
58
283
641
590
442
486
698
546
923
457
583
163
505
353
292
9
944
578
212
527
745
903
731
710
330
22
449
496
205
253
176
552
313
720
169
818
210
407
988
835
353
957
956
395
587
911
443
513
859
401
103
53
297
936
757
599
60
58
813
345
770
82
14
798
933
68
804
121
461
459
814
762
325
521
781
860
383
848
744
560
658
717
480
1000
654
982
984
234
877
556
235
747
313
261
639
559
523
959
287
121
934
444
635
355
78
529
277
199
807
120
244
986
978
850
649
821
692
10
590
883
942
114
896
226
443
401
706
236
503
999
884
371
989
258
970
183
893
971
682
913
466
825
19
144
674
438
631
93
510
756
457
131
760
438
589
16
978
78
941
175
720
767
575
54
625
543
491
215
514
750
253
380
500
167
85
71
55
62
978
844
75
996
888
357
236
272
352
703
396
426
688
459
317
60
501
934
753
594
378
927
829
250
526
117
656
669
556
908
374
110
839
123
120
79
585
472
970
587
342
113
549
978
686
952
842
393
649
557
715
507
912
656
794
136
816
291
629
645
58
566
567
909
280
834
291
701
870
895
818
12
974
447
618
755
110
596
616
742
804
697
55
587
324
210
609
422
977
486
639
910
387
650
242
87
850
801
535
938
162
784
683
519
290
672
322
607
858
947
346
546
733
64
540
999
899
722
148
774
402
709
267
749
422
621
920
201
395
102
754
519
697
523
578
362
599
155
375
808
81
979
988
949
632
246
428
670
319
757
635
76
283
660
538
132
288
223
523
610
133
639
696
361
503
448
919
255
349
553
196
891
977
122
863
302
817
915
994
447
264
668
567
233
109
239
253
178
764
146
112
592
965
964
102
339
624
831
80
810
263
950
863
741
823
556
22
906
665
274
293
496
261
203
896
236
428
312
572
874
944
947
878
720
45
357
99
322
593
111
195
222
713
248
327
938
260
756
857
11
811
758
187
956
781
363
451
467
848
720
849
40
152
219
383
483
594
145
851
448
157
375
211
203
357
797
865
346
831
288
968
62
585
984
613
844
588
504
620
264
292
549
711
543
97
8
44
158
976
287
447
650
249
89
185
167
10
290
788
951
769
848
277
198
706
954
103
206
339
699
272
723
504
634
394
765
292
487
877
932
3
188
54
440
212
83
843
660
783
897
405
958
28
562
390
999
227
499
554
525
434
339
935
766
804
326
329
316
708
869
484
274
514
783
307
931
273
776
373
54
456
656
222
126
574
525
216
479
725
987
251
367
108
995
225
446
92
506
966
3
688
580
294
559
186
857
957
120
267
665
487
473
113
105
408
364
919
596
824
337
742
267
136
290
788
519
519
504
102
846
866
45
108
675
49
935
600
624
766
416
610
48
712
981
15
176
498
566
907
446
566
456
481
870
327
997
686
405
888
185
910
320
30
537
790
511
547
451
566
548
652
414
522
14
950
16
740
329
354
708
750
845
434
643
747
464
891
736
648
392
264
293
686
969
482
168
160
660
630
426
680
422
87
929
504
669
276
75
552
939
371
183
317
212
677
632
136
548
865
955
258
323
877
502
699
915
103
185
160
83
421
70
152
690
739
270
55
618
992
650
39
937
935
396
664
406
666
331
484
406
523
208
179
250
924
915
574
619
712
610
410
549
816
361
865
26
368
771
652
700
923
408
989
696
134
604
828
769
8
314
553
306
899
303
756
791
501
875
795
398
402
707
620
300
225
160
696
155
975
568
973
962
979
631
521
167
711
5
856
423
908
574
978
950
558
711
864
736
777
22
461
187
121
695
247
973
553
589
84
931
194
627
365
901
945
897
465
269
277
80
95
814
788
517
456
176
614
214
9
903
422
605
290
549
506
715
413
768
451
649
847
662
938
25
576
936
543
15
991
528
766
185
729
501
146
210
189
905
4
814
670
246
281
42
874
941
966
46
59
866
795
96
247
684
296
474
720
143
726
211
490
959
143
390
560
204
672
876
581
344
4
879
905
211
305
726
185
224
12
572
359
101
431
560
310
186
678
103
508
239
236
563
702
211
364
570
52
100
616
644
173
434
6
554
195
342
726
87
328
429
845
496
384
876
163
918
392
287
207
484
717
808
401
682
98
949
583
747
608
361
394
545
839
552
531
409
544
136
481
903
547
766
186
306
9
333
991
915
999
360
373
912
916
789
189
650
511
494
607
680
115
953
463
758
232
462
505
346
828
152
895
857
481
889
360
992
76
771
602
39
849
608
918
932
437
201
508
204
11
710
611
706
723
677
425
110
469
510
777
748
394
368
599
347
667
407
627
511
803
318
108
641
195
886
989
118
603
128
762
169
39
144
89
831
886
465
400
817
79
82
889
887
906
781
717
547
294
651
767
502
450
845
36
306
390
783
532
101
196
950
648
145
786
410
65
70
645
922
631
490
192
298
101
574
448
275
283
717
213
678
915
254
225
140
566
477
705
938
934
849
187
825
209
439
824
831
552
39
166
121
358
373
984
964
655
63
870
714
925
757
184
546
639
921
448
323
23
327
393
624
925
193
703
419
138
251
980
320
259
794
525
648
926
847
370
773
300
206
383
310
789
25
388
813
275
985
961
518
614
881
11
569
715
604
257
888
327
110
476
526
547
926
746
894
149
173
941
756
61
855
418
223
713
391
178
311
514
977
789
769
416
385
988
28
397
227
217
110
670
553
300
216
641
895
85
599
929
491
163
978
259
514
712
419
660
547
87
154
228
438
54
211
620
934
436
117
591
154
530
165
115
69
839
914
83
627
565
649
117
65
815
493
784
245
666
775
390
569
78
998
559
139
129
490
14
338
224
378
334
953
699
68
965
272
761
791
447
353
767
114
625
784
683
543
611
819
940
440
386
723
53
560
248
541
59
428
728
249
291
613
234
451
3
752
432
347
141
797
290
698
863
549
797
905
503
6
575
122
302
435
36
530
606
376
222
519
214
946
220
529
216
953
859
755
974
294
433
726
843
57
363
24
899
534
14
51
152
98
390
805
726
517
54
70
31
814
422
320
203
230
516
875
36
185
384
536
115
401
649
26
152
500
70
18
338
466
569
461
90
323
918
190
742
277
161
543
570
339
890
784
38
153
699
689
309
331
489
555
882
142
823
235
649
754
175
539
841
608
772
482
55
673
692
422
34
503
9
81
927
25
100
807
539
939
648
203
437
466
503
442
899
925
311
144
344
279
757
701
305
379
319
321
3
78
684
873
286
784
360
806
15
315
543
58
1000
88
31
847
229
800
797
724
438
733
885
32
56
755
425
218
149
901
905
39
302
108
328
793
288
366
510
139
964
37
558
944
99
542
536
875
719
999
433
102
140
602
787
601
42
724
771
995
849
789
88
799
172
919
788
219
276
261
969
359
378
666
414
829
59
102
370
234
239
761
58
984
988
357
24
162
877
473
76
968
728
199
406
364
379
458
480
122
535
597
384
416
837
835
648
494
57
99
991
689
726
643
51
256
531
586
930
66
583
171
274
195
984
118
736
843
179
910
843
812
249
235
720
986
651
101
642
857
890
317
100
190
300
134
916
318
361
880
956
394
12
263
156
196
987
913
912
686
507
399
359
596
596
614
683
784
868
954
459
939
881
151
881
502
73
982
929
355
830
309
732
884
473
102
829
546
806
121
591
935
421
940
821
673
98
866
400
123
527
80
928
78
42
39
490
70
223
766
34
873
31
154
364
124
610
837
424
712
1000
491
361
721
796
635
859
296
222
168
342
720
166
877
971
396
488
121
791
143
306
726
985
469
15
889
984
981
539
555
54
149
652
286
112
7
264
129
706
167
224
351
504
763
569
216
193
512
93
164
350
149
827
835
749
867
270
415
555
285
220
662
21
636
657
819
645
587
405
305
218
100
253
753
832
212
780
452
711
515
405
726
671
312
56
124
143
192
441
536
924
769
92
528
278
869
256
249
540
337
195
236
148
913
694
330
896
365
353
688
237
169
805
579
689
530
96
259
734
499
305
697
118
248
950
370
130
303
823
627
268
705
694
386
666
591
772
9
821
665
858
289
411
390
920
377
503
491
197
364
985
551
995
960
901
56
78
390
199
240
902
190
556
464
988
60
126
684
397
295
459
758
635
642
387
954
283
574
370
50
331
100
650
848
473
237
575
732
623
163
627
172
493
902
2
705
383
102
90
963
264
128
824
807
800
172
663
465
243
593
945
849
1000
984
416
907
254
773
29
950
234
279
538
371
585
249
939
87
848
851
598
320
201
991
757
47
500
602
163
573
129
245
767
188
312
971
803
786
380
876
44
709
932
222
743
730
949
284
547
334
707
332
686
925
768
263
865
596
417
465
574
438
659
400
1000
148
292
274
308
867
642
899
841
763
248
516
698
853
166
923
220
978
579
715
159
629
107
828
687
519
524
870
925
444
600
902
421
964
451
443
800
881
55
472
889
311
598
108
715
398
918
483
179
362
573
10
613
613
38
931
130
128
87
513
425
168
684
742
661
648
608
687
167
188
581
980
949
923
915
8
418
665
525
481
338
883
731
19
700
296
409
283
138
552
924
939
539
594
763
474
694
856
950
451
209
303
106
301
381
735
526
175
449
439
725
676
415
489
717
538
654
488
696
421
625
539
907
54
326
582
224
885
575
16
353
241
784
680
656
781
695
874
287
654
429
80
719
363
299
429
762
801
60
790
848
309
646
519
720
893
22
577
651
915
430
697
953
698
207
733
878
468
351
151
958
968
166
864
451
919
664
249
857
188
871
250
388
201
830
913
858
625
872
582
730
823
695
231
955
926
891
119
762
595
814
987
837
752
113
572
143
592
830
35
193
170
684
265
765
741
51
693
888
819
210
369
420
611
606
587
708
65
245
265
610
308
850
606
635
639
71
336
87
551
884
917
853
511
258
738
944
323
358
192
951
962
798
948
353
687
938
490
19
115
820
146
266
652
84
463
612
404
156
722
677
176
36
811
760
718
282
474
264
698
152
159
517
210
405
282
506
789
994
796
721
14
701
315
586
797
799
933
949
345
998
79
695
602
239
417
862
741
401
842
530
829
610
75
391
414
639
250
102
148
843
113
488
962
156
180
163
525
987
242
387
924
206
123
850
516
53
469
578
923
481
670
365
996
364
711
966
371
35
867
779
916
811
672
909
996
532
529
299
956
652
655
100
657
72
783
561
197
756
228
492
201
133
404
806
157
429
933
730
345
383
747
998
825
221
451
797
815
398
317
229
534
362
906
827
245
531
289
994
813
712
230
291
556
482
511
157
550
376
767
19
826
313
821
703
113
380
547
763
857
939
686
599
256
49
890
253
968
366
511
350
962
981
285
961
713
189
129
83
551
761
706
23
542
128
299
234
689
819
794
28
621
607
245
181
154
63
589
637
320
670
556
399
471
187
725
230
90
720
973
960
781
803
270
41
724
886
891
487
556
784
642
496
245
14
604
856
27
472
263
694
898
552
603
266
435
632
896
255
1000
865
488
477
462
307
816
986
619
737
270
327
475
972
272
68
329
74
143
831
422
615
881
722
536
94
996
468
510
657
908
570
101
514
250
479
22
846
597
138
248
499
787
246
886
523
975
208
13
403
48
114
864
902
806
985
699
562
585
203
464
259
635
278
94
672
623
68
955
182
72
151
425
498
437
277
80
258
766
765
299
963
587
241
339
868
733
342
115
862
316
880
964
957
957
488
677
731
660
956
925
947
464
308
15
646
78
154
612
170
266
36
629
959
638
245
29
474
867
124
664
246
73
909
622
902
260
13
742
992
258
56
121
569
573
22
451
778
893
724
977
159
813
84
709
980
465
884
284
658
366
269
519
274
769
737
292
242
182
312
827
435
558
335
867
447
831
599
490
229
108
604
520
27
844
310
582
400
750
109
863
137
17
697
529
19
683
134
608
739
611
679
814
737
603
913
476
378
617
232
234
676
956
99
615
712
510
263
959
19
871
795
410
459
177
942
862
529
57
727
784
633
932
688
882
546
235
409
357
236
812
267
386
213
896
359
76
782
553
715
786
963
428
707
189
305
954
35
885
530
932
790
654
753
523
884
705
1000
257
545
371
898
609
699
765
686
74
788
831
169
424
970
77
824
22
730
61
40
643
626
311
385
240
278
968
883
502
727
904
499
828
985
439
419
577
932
72
281
45
712
836
164
659
441
985
62
286
339
720
516
411
372
579
305
147
111
933
378
725
782
745
720
120
445
397
460
963
782
895
348
732
282
250
652
496
458
129
644
159
323
171
124
229
563
496
807
641
714
11
27
35
165
93
895
224
32
103
964
260
731
981
494
647
642
850
602
753
343
166
945
417
760
463
91
61
2
123
416
373
800
961
165
753
232
606
327
296
849
793
84
10
437
741
907
355
336
699
808
945
723
621
889
451
240
671
40
295
135
913
630
751
411
133
40
432
521
192
162
968
842
688
361
868
480
16
944
190
970
68
877
661
97
958
347
296
337
127
784
427
431
99
126
276
196
10
429
851
949
703
408
998
896
850
145
907
375
90
965
221
125
603
469
181
658
908
784
907
336
899
383
998
14
332
215
137
954
7
496
260
249
893
209
171
187
290
280
182
822
952
412
466
514
747
783
351
354
42
150
691
203
527
443
780
538
567
554
50
420
509
912
881
667
608
359
457
779
320
23
537
216
810
145
360
399
403
302
705
211
598
31
280
812
2
669
206
323
203
101
349
295
170
218
652
899
244
81
411
472
165
225
666
394
850
23
471
246
858
777
835
897
555
38
564
415
996
665
56
729
469
326
327
540
451
437
227
289
447
40
827
904
817
759
423
647
253
739
465
642
952
471
16
542
960
458
970
370
345
989
395
789
63
665
824
905
423
941
219
269
56
619
644
894
141
192
376
971
455
903
320
449
492
644
76
800
499
150
983
111
782
451
753
90
38
233
75
721
801
563
702
49
314
435
93
46
231
716
627
576
661
371
796
224
927
293
520
175
329
683
934
372
917
669
563
901
940
777
793
933
245
963
954
563
307
112
107
595
19
323
861
635
608
834
147
872
263
144
900
581
147
741
22
663
465
865
842
552
200
887
514
385
901
242
456
660
674
303
972
506
128
231
662
292
575
646
87
563
235
888
436
162
516
763
594
992
734
923
131
66
764
454
188
361
195
806
138
548
550
957
228
823
981
564
71
919
650
912
11
888
721
674
893
359
444
838
672
839
353
687
674
38
986
377
16
366
876
478
878
482
771
841
826
266
157
273
394
617
238
815
454
275
416
844
699
229
207
854
736
377
252
514
854
765
765
522
547
164
315
868
247
710
319
312
529
83
997
320
265
973
828
204
809
647
750
925
317
11
422
892
746
950
896
73
880
626
932
928
12
65
42
979
506
666
29
334
565
145
460
99
952
65
2
424
296
334
53
867
870
942
376
868
424
797
765
402
721
710
888
267
922
460
544
80
856
409
534
754
532
297
230
115
918
716
702
401
173
236
981
533
8
327
599
436
782
18
87
206
287
699
491
551
901
608
309
815
932
320
467
816
551
957
74
910
631
998
737
974
207
229
176
438
38
857
689
127
901
808
818
409
868
996
194
92
783
672
118
567
551
37
910
936
669
961
444
241
622
990
552
477
384
833
194
739
287
170
388
746
956
923
873
957
816
107
435
706
951
3
591
75
708
658
96
722
510
666
340
507
798
780
234
574
880
117
669
473
732
678
908
20
499
406
610
870
480
266
269
175
928
680
979
297
827
172
360
242
183
297
409
422
998
721
782
343
273
865
729
47
866
626
503
490
982
562
557
540
392
321
263
954
214
293
210
523
253
161
333
547
432
543
308
947
804
937
613
603
12
983
674
975
822
415
300
660
541
179
399
290
699
859
628
127
383
980
181
742
2
736
403
442
40
410
306
464
600
74
329
505
130
162
886
873
750
166
367
389
21
6
206
169
849
589
609
616
421
714
302
253
758
733
403
504
482
319
144
203
882
310
727
360
212
790
3
693
429
539
44
539
253
470
913
4
527
969
122
641
316
839
294
532
118
152
570
353
829
451
137
917
819
606
65
721
610
114
336
212
149
798
514
871
587
657
57
709
837
91
643
426
898
854
227
346
93
853
744
174
903
348
534
814
59
212
572
723
908
645
539
775
827
134
633
187
665
529
752
827
738
803
345
157
935
452
816
114
851
497
813
487
675
763
126
726
793
425
210
656
638
828
525
283
382
227
1000
728
453
402
925
340
728
98
484
191
468
804
967
527
715
737
418
169
925
756
96
545
61
587
690
806
249
947
642
429
355
63
286
822
518
669
795
714
779
735
39
512
403
97
571
406
413
662
903
718
140
44
131
891
312
347
732
536
318
286
82
193
782
7
806
774
557
772
606
208
522
126
600
443
356
319
543
821
571
489
514
784
669
601
777
44
217
162
577
616
17
544
559
576
317
115
349
16
174
426
608
418
681
463
503
599
737
293
122
452
462
506
847
929
129
504
45
120
724
51
755
809
833
495
222
591
603
703
246
498
910
95
287
84
755
96
219
100
98
969
412
208
5
263
554
655
55
31
268
496
370
605
89
704
529
895
828
506
893
165
703
340
518
711
849
140
959
165
994
24
717
955
175
83
7
13
287
672
803
15
207
488
840
235
966
797
362
650
157
325
926
40
372
722
498
653
948
18
402
482
733
119
445
303
878
280
666
411
901
416
707
436
407
279
777
682
846
827
546
221
685
535
45
330
174
31
868
968
672
194
525
657
140
759
793
549
984
568
314
448
907
824
477
273
805
93
841
771
24
356
973
288
499
93
568
66
380
258
195
842
772
996
785
478
105
152
273
996
498
899
415
649
165
352
858
605
584
624
21
414
643
604
175
662
469
664
418
127
932
640
876
331
140
654
589
546
341
800
990
252
759
272
812
513
842
245
530
953
281
711
188
867
959
529
541
443
666
109
984
305
20
561
662
324
548
599
480
147
273
205
484
14
487
849
226
205
607
58
261
886
146
267
913
231
851
166
782
434
29
230
253
626
904
692
440
778
623
17
568
389
176
827
816
106
72
316
1000
503
84
430
312
864
743
452
521
214
586
203
647
802
289
751
176
912
995
391
259
184
81
653
222
577
560
292
915
764
125
498
98
982
548
97
90
339
811
106
402
128
828
820
891
986
132
565
291
607
176
343
607
292
210
858
993
847
812
852
165
172
263
226
352
464
883
170
50
104
366
419
571
151
905
767
488
864
620
220
597
833
377
463
946
88
596
893
812
43
78
91
247
251
162
448
959
708
775
651
850
892
63
860
477
824
320
701
97
157
864
655
675
718
401
33
481
12
112
483
412
846
407
884
227
692
844
596
226
349
162
205
752
221
799
359
64
816
512
767
780
94
937
196
60
957
2
107
195
436
143
613
23
157
135
603
904
240
227
197
572
96
943
181
279
499
569
724
78
917
872
430
966
326
44
790
863
632
206
147
125
389
71
587
299
725
520
579
392
237
911
740
767
170
916
881
114
365
574
326
629
304
3
561
667
81
946
496
643
277
887
924
891
524
6
325
507
28
638
805
967
404
231
790
440
1000
988
83
259
295
576
21
999
38
234
767
945
579
624
225
530
198
595
664
474
349
765
915
959
401
513
898
156
874
543
351
815
161
620
808
431
445
508
331
701
824
380
978
627
691
197
728
596
40
628
441
243
694
107
415
698
418
507
307
76
485
775
480
717
571
530
343
721
753
325
866
793
12
761
273
269
854
96
836
476
603
360
823
236
442
212
908
434
519
960
767
28
311
215
155
811
929
639
511
494
287
115
3
430
854
458
971
376
227
480
948
244
911
812
767
687
494
414
799
724
895
73
10
336
451
557
382
107
411
276
193
547
841
452
815
682
8
830
960
864
106
903
773
531
526
483
769
801
1000
181
370
411
612
51
725
438
62
198
568
702
612
627
95
506
787
6
244
587
296
272
279
778
583
237
317
898
121
419
252
791
831
347
580
307
994
488
762
226
649
777
128
779
735
433
771
484
175
396
527
463
703
234
952
256
458
838
121
460
293
544
218
145
299
593
117
127
254
2
590
639
598
971
354
851
36
942
893
982
73
299
880
468
636
480
74
747
401
968
755
757
632
231
140
165
133
182
702
675
370
130
10
503
964
541
526
263
518
109
772
43
178
806
417
410
430
600
138
475
360
458
552
875
36
129
108
738
704
933
637
276
219
459
108
619
506
624
279
937
870
45
127
655
655
26
328
804
98
774
625
156
226
634
600
819
284
237
226
368
499
460
610
463
955
14
464
108
974
275
214
367
662
719
107
408
238
946
310
184
340
786
832
963
743
483
982
134
847
232
257
450
838
650
744
911
637
901
611
1000
644
264
767
869
784
909
561
389
583
535
241
663
798
283
954
743
666
68
264
781
959
40
515
807
858
393
902
623
114
190
745
74
105
120
318
75
143
398
558
344
859
101
105
740
557
291
423
481
177
206
232
253
934
665
17
457
728
568
236
360
150
54
677
951
297
423
558
685
602
427
160
76
606
900
171
362
904
978
487
16
543
378
886
952
733
262
873
651
126
269
989
329
804
156
47
433
791
349
106
457
174
397
439
100
823
987
422
230
333
664
40
11
27
901
675
807
781
463
935
146
965
290
549
119
64
289
780
92
334
463
365
462
463
816
747
548
325
327
225
364
793
85
713
162
53
351
992
153
33
952
690
735
362
857
748
883
724
261
792
116
626
765
646
574
357
499
243
319
340
151
265
910
204
905
200
668
610
226
903
842
298
290
405
24
865
606
417
772
514
34
951
397
365
982
526
223
971
21
655
485
353
560
718
196
202
482
843
947
921
867
149
628
795
991
528
463
923
817
182
622
479
112
283
869
524
114
463
386
840
417
308
941
211
382
677
48
150
874
468
602
348
629
375
777
983
846
327
622
615
896
524
886
611
178
433
105
895
223
664
840
359
129
387
314
466
283
831
345
389
111
463
632
558
297
624
948
618
498
787
719
619
104
72
823
729
982
367
152
871
485
194
656
477
209
466
110
978
116
392
830
745
698
114
906
929
757
76
311
76
271
759
402
439
540
163
925
607
477
336
624
483
476
344
944
638
767
270
122
763
534
269
170
286
385
189
871
215
914
36
919
920
239
352
771
875
374
636
609
353
212
82
45
686
722
243
857
977
674
704
81
87
842
496
264
320
175
768
522
457
861
174
331
715
556
580
663
749
323
891
149
42
961
295
437
895
487
724
829
757
510
114
559
822
105
913
806
658
590
328
619
143
297
16
484
98
28
255
176
879
390
185
859
596
621
323
161
773
825
439
79
67
767
817
125
37
507
83
90
114
182
76
147
617
200
677
816
92
942
139
449
302
839
187
529
909
340
126
10
264
864
219
356
760
294
865
746
854
952
480
73
260
295
530
41
745
740
860
635
679
138
330
689
747
430
779
110
233
912
491
546
882
360
693
936
646
2
67
439
541
925
908
682
432
80
356
141
822
452
86
745
610
335
917
451
358
900
106
647
804
410
481
695
243
483
150
866
938
812
263
178
863
597
179
376
987
756
447
416
735
655
190
314
480
706
868
166
671
693
882
464
722
77
152
585
858
865
652
468
940
856
837
46
681
181
44
956
803
123
257
428
375
117
54
2
39
705
181
919
834
943
936
601
84
460
504
639
163
893
403
80
991
927
498
636
799
539
366
621
38
323
386
45
296
979
604
325
764
138
274
475
83
703
20
496
361
802
694
914
807
253
357
54
658
179
289
707
65
39
544
279
133
859
411
410
625
922
42
284
673
494
638
562
462
431
855
919
27
677
489
691
188
724
88
7
179
78
867
87
715
659
198
110
68
848
970
154
229
584
339
234
394
516
724
396
803
717
437
159
443
878
981
320
242
222
899
312
153
600
18
824
980
346
88
371
865
541
93
866
120
231
973
6
483
27
95
461
943
266
586
456
983
554
537
305
473
94
191
851
483
683
429
593
924
622
295
457
345
86
789
804
119
676
920
279
991
5
820
534
203
131
750
690
414
601
13
651
247
660
73
8
570
928
710
347
553
441
646
212
131
534
875
864
766
448
892
205
280
911
115
968
107
192
55
308
530
295
209
449
320
12
231
918
756
547
662
219
155
291
392
488
905
108
60
795
483
209
824
276
91
258
246
218
360
887
608
517
28
183
578
721
630
50
38
963
12
565
799
680
905
558
132
953
912
714
282
663
983
425
618
451
863
445
670
619
66
198
46
713
637
220
184
509
332
786
920
519
885
270
119
937
709
125
995
151
713
703
283
572
932
286
129
525
298
824
428
415
209
878
343
166
502
156
910
216
80
878
971
956
687
910
122
590
305
235
61
815
192
884
450
622
860
869
405
751
181
29
798
36
370
932
856
958
812
174
916
198
570
431
815
881
941
649
83
532
614
592
40
420
812
786
894
133
323
567
176
714
445
551
185
629
706
354
632
165
678
779
347
601
321
38
722
636
71
762
573
107
331
720
202
1000
116
172
783
104
312
746
594
452
488
563
265
834
167
100
955
290
265
933
289
459
713
73
974
48
342
88
226
510
784
570
548
201
485
802
926
934
918
675
221
829
744
996
386
813
978
329
151
951
172
445
983
27
273
238
475
423
59
731
764
438
23
375
240
595
143
443
605
385
237
688
270
155
497
861
211
529
355
877
638
815
60
607
274
375
210
355
618
793
4
5
264
1
175
758
279
240
410
135
660
797
539
604
94
59
950
829
612
272
483
990
229
779
534
85
328
233
203
410
399
415
128
641
680
868
38
86
429
483
207
701
820
556
671
399
922
612
541
52
817
441
740
308
684
410
271
51
585
73
437
846
780
517
498
232
612
672
937
78
393
28
814
512
286
811
725
122
854
699
510
240
806
570
166
96
509
624
403
577
965
458
885
110
306
296
485
938
330
666
812
664
245
241
870
498
567
436
945
65
94
640
722
987
954
605
193
722
12
626
143
267
334
628
853
443
966
163
210
430
42
624
576
86
101
709
632
412
558
247
889
180
446
62
725
345
930
436
613
392
600
90
666
149
203
344
755
929
309
243
231
96
412
996
708
257
50
53
477
341
878
470
840
753
45
23
75
649
840
672
805
131
336
596
241
811
691
975
159
782
808
117
492
487
337
307
106
371
326
983
661
470
448
456
470
317
356
381
901
593
624
671
209
12
736
314
610
789
732
843
66
897
476
828
510
22
961
816
180
752
741
613
318
94
330
643
745
824
404
419
720
554
700
819
45
640
822
940
615
203
535
811
451
639
725
117
823
931
950
418
208
969
355
16
719
882
804
778
94
64
269
715
509
170
861
55
294
883
428
877
82
648
287
123
47
891
487
930
673
463
11
794
926
184
410
35
777
389
706
380
813
335
824
267
18
161
419
653
914
852
745
673
948
328
115
500
379
343
573
157
961
332
660
816
384
765
499
343
799
816
7
452
731
358
723
859
341
408
602
249
319
134
128
703
642
449
294
474
56
40
291
635
427
415
248
203
41
139
999
754
493
28
648
456
116
449
643
692
729
276
199
119
101
275
144
108
716
848
703
984
300
175
307
394
103
708
226
421
115
901
746
777
224
813
624
517
844
937
769
247
664
190
455
708
4
505
877
973
723
890
535
214
739
131
762
149
997
523
669
837
179
165
959
434
516
394
315
901
803
836
537
413
168
460
217
406
144
727
477
767
347
600
253
686
437
779
633
56
39
936
44
124
16
179
420
312
808
195
70
721
555
757
622
858
378
357
328
581
489
745
966
25
784
54
799
599
185
16
353
699
276
492
234
911
708
174
900
878
460
853
38
907
252
85
177
650
359
435
277
851
578
744
282
283
371
13
54
418
34
566
668
346
309
152
805
691
994
473
836
33
6
476
257
424
793
391
322
126
173
111
88
620
497
26
591
263
466
813
541
721
83
19
756
440
988
494
527
970
862
848
255
929
663
162
979
734
235
106
884
24
195
488
471
849
101
986
829
308
580
503
388
285
513
124
591
350
358
163
148
673
402
129
955
20
78
759
258
512
455
437
387
842
683
428
215
89
487
348
510
64
753
233
535
425
876
339
555
364
842
570
410
795
901
52
929
379
342
876
781
614
63
539
288
472
591
880
833
756
721
641
776
419
186
889
188
592
630
618
306
941
694
847
322
307
196
375
43
254
237
150
955
292
560
928
471
62
643
455
459
663
809
939
698
683
121
984
534
206
922
460
886
204
684
41
679
308
268
230
961
876
748
754
234
661
752
158
982
147
642
251
994
795
920
834
828
25
973
792
691
752
629
200
93
689
44
567
835
428
94
728
325
524
811
161
704
410
408
732
20
14
46
926
499
341
863
672
3
158
703
742
924
119
642
556
88
340
660
910
720
481
742
819
177
828
324
161
920
775
174
278
178
328
779
27
843
968
805
31
393
273
455
47
97
191
403
418
265
761
511
571
115
369
726
397
642
333
397
118
984
748
732
963
929
2
301
561
595
351
252
459
805
221
434
600
382
687
688
896
363
708
366
270
167
237
597
654
847
309
859
483
879
548
214
164
367
322
924
825
175
954
265
448
236
951
35
105
221
253
646
615
829
836
725
398
165
873
797
690
107
807
16
563
55
334
859
386
196
315
383
476
245
53
941
669
670
196
220
469
530
803
87
253
433
701
10
712
556
364
756
370
343
970
649
525
260
172
927
432
969
375
648
860
356
20
131
453
135
402
156
439
156
109
12
342
134
2
8
290
219
996
240
425
763
595
274
666
620
249
861
821
579
132
997
587
845
847
415
524
4
916
85
489
591
641
406
306
192
82
563
729
983
413
950
814
790
939
645
922
977
343
694
459
995
576
327
352
975
928
327
978
542
420
461
956
924
661
268
761
534
670
522
594
400
15
371
328
236
781
512
629
470
533
716
555
254
428
729
18
340
82
829
514
714
618
329
431
51
559
904
51
366
884
920
122
761
611
872
447
730
730
620
541
369
170
379
790
699
762
297
931
500
838
30
920
234
166
950
395
133
448
455
52
42
474
430
168
372
330
49
446
395
788
968
89
153
89
463
739
470
879
203
506
885
958
168
797
864
859
687
107
305
5
690
205
170
321
52
408
71
764
333
752
772
152
314
893
852
78
484
539
239
427
11
43
934
218
826
549
971
67
132
741
634
556
39
818
985
183
53
788
1
377
829
551
3
283
929
529
620
592
356
805
205
773
241
809
497
434
407
608
325
416
484
775
324
426
879
609
959
692
165
226
627
160
420
641
251
209
600
535
578
718
304
802
329
625
194
358
474
745
862
918
152
727
184
626
178
520
71
495
665
602
22
557
10
530
118
545
381
87
888
682
887
393
23
864
823
908
14
111
716
136
659
665
438
195
790
542
304
171
746
642
890
285
856
741
324
485
654
859
883
12
633
478
90
868
88
60
894
881
5
175
165
219
9
261
475
830
109
737
72
229
342
753
6
481
437
306
631
8
335
868
55
77
704
937
689
427
619
116
729
509
201
426
255
260
338
573
669
135
578
777
324
401
888
619
576
290
267
53
899
718
138
393
423
682
10
590
981
346
190
583
734
91
183
828
555
459
12
407
586
48
890
223
833
840
540
906
222
423
23
4
270
779
63
904
421
95
753
747
138
118
989
255
27
124
145
10
664
479
312
236
261
118
878
511
6
991
371
204
740
698
246
602
585
46
725
875
319
259
928
10
544
911
229
839
172
433
213
93
356
221
653
183
742
947
643
99
848
676
404
317
462
786
286
163
152
472
208
387
396
853
86
34
375
287
814
876
174
537
10
761
978
854
61
256
896
870
936
846
165
440
897
811
874
211
496
575
769
764
163
991
370
604
334
544
434
169
243
903
713
273
477
593
95
94
898
821
461
893
782
655
26
136
883
804
476
592
670
246
989
279
155
807
74
841
589
593
232
56
776
881
638
670
935
630
381
732
832
344
347
874
368
360
469
774
952
14
898
147
738
310
647
184
261
886
381
310
87
79
323
486
845
857
703
69
410
208
772
412
63
363
187
959
166
862
459
602
291
48
264
433
711
71
626
859
922
815
385
231
133
504
886
756
711
885
556
494
193
25
855
659
795
726
138
269
318
516
96
455
966
951
808
348
866
706
881
544
38
571
822
606
111
987
556
885
382
199
981
277
661
475
518
158
962
68
936
830
262
774
73
342
462
996
735
375
196
216
705
251
318
633
751
782
735
531
512
831
766
624
384
930
345
216
843
282
201
547
195
762
613
66
387
287
467
731
339
84
99
625
254
909
882
330
479
261
555
530
806
958
88
251
537
262
243
1000
251
872
71
819
959
710
296
941
290
420
909
271
365
870
319
430
316
775
101
456
739
753
712
536
945
748
551
356
562
758
396
744
900
260
535
278
507
531
920
456
505
319
241
841
621
960
142
302
329
80
707
122
116
494
943
268
730
772
244
565
171
198
695
861
328
555
678
529
398
228
414
810
678
600
979
574
849
655
834
35
655
939
130
862
722
801
837
878
331
900
304
275
161
525
955
828
351
165
679
124
781
133
902
235
90
756
485
550
832
825
339
749
101
500
108
991
127
880
338
462
628
773
329
325
145
977
232
16
207
579
40
545
939
344
835
133
613
252
7
95
763
662
216
335
683
348
525
214
531
891
499
824
787
513
38
911
546
447
387
765
951
392
58
429
97
407
372
461
917
861
963
319
856
673
833
162
657
160
518
475
195
254
491
487
98
694
182
758
839
116
908
707
101
587
544
57
470
255
8
373
931
260
477
915
213
926
812
20
778
607
821
71
115
206
853
955
56
554
704
538
32
318
972
344
534
61
805
81
566
387
454
104
549
865
165
202
939
552
718
327
830
506
365
5
947
617
2
229
692
461
153
539
412
665
767
870
631
405
859
506
738
306
769
111
588
926
173
417
500
487
3
573
392
228
126
591
191
44
982
568
160
633
343
583
534
417
58
249
674
931
914
921
985
201
736
457
997
868
461
259
345
472
197
26
859
345
225
316
610
45
474
501
570
98
263
196
456
106
2
537
488
948
91
982
4
886
497
452
313
879
340
686
767
299
354
678
711
538
275
938
910
734
48
89
64
915
243
28
231
410
221
462
342
296
396
145
492
980
428
539
372
753
259
955
15
308
741
446
38
748
982
852
668
594
670
441
160
635
360
518
648
269
112
244
87
120
945
642
699
344
270
432
264
980
837
920
662
136
778
623
306
583
989
689
505
535
455
472
325
21
100
818
217
262
419
675
558
900
436
717
226
766
513
502
545
86
157
572
218
710
239
579
379
964
982
174
517
205
671
922
813
13
272
958
413
229
53
440
218
729
875
106
82
892
21
419
689
225
294
836
992
498
684
710
792
37
29
238
949
548
998
612
749
940
167
269
161
140
151
694
53
840
549
768
980
416
913
36
802
22
107
612
211
4
160
636
267
318
190
365
123
613
29
960
459
990
967
45
577
219
401
888
714
386
245
868
895
509
694
529
576
658
270
72
379
516
139
657
486
104
354
206
614
617
25
745
53
927
413
471
958
318
607
842
918
470
734
7
860
509
635
780
499
217
563
204
895
103
709
447
113
120
347
432
677
250
923
117
261
50
708
785
22
535
506
74
93
417
483
703
20
850
402
23
314
272
405
601
916
861
21
8
60
429
274
843
925
238
589
860
514
417
683
698
392
88
833
371
269
310
635
125
936
252
936
722
722
728
642
512
471
412
977
870
13
576
124
722
253
153
320
907
277
306
208
67
344
437
644
616
227
764
235
71
133
152
581
718
347
915
581
129
825
648
177
538
198
1000
612
440
18
467
606
100
631
929
850
810
787
659
878
864
895
953
695
202
905
388
471
609
937
923
280
138
94
732
106
197
405
685
282
318
461
869
128
205
110
406
787
76
510
64
179
665
990
894
526
524
364
138
149
392
830
200
78
506
110
342
580
658
254
59
854
728
392
821
14
174
777
970
970
663
666
72
959
642
919
969
309
115
744
99
456
352
653
387
387
531
533
170
438
561
721
154
824
452
107
366
349
654
566
443
530
691
513
332
718
314
918
707
916
112
950
925
657
193
287
410
724
131
217
667
483
823
905
3
310
289
571
190
924
756
858
943
443
513
405
98
611
172
453
811
986
939
364
913
821
433
73
824
2
392
824
42
676
340
49
299
153
909
844
932
243
65
316
857
440
895
27
846
264
4
862
438
649
790
893
933
453
38
267
401
61
359
687
508
577
936
812
294
266
962
757
740
779
900
968
53
167
424
891
151
845
472
254
724
500
359
272
615
368
311
752
971
455
81
928
780
37
566
786
954
230
433
836
85
478
830
541
346
597
183
67
804
376
932
650
566
819
824
615
785
830
28
997
514
492
906
816
821
145
760
270
364
145
248
485
819
512
437
44
215
693
670
179
188
306
516
383
648
51
76
220
146
925
829
257
497
515
22
388
841
412
329
292
376
728
132
408
482
288
326
600
767
314
965
640
900
323
452
738
721
521
198
616
217
191
849
42
473
442
255
308
539
221
314
872
520
660
716
285
865
698
389
528
955
382
149
145
621
426
643
854
128
417
206
868
514
502
616
816
914
552
110
983
608
516
184
552
151
188
889
703
818
630
319
678
44
290
974
407
239
241
489
866
587
6
18
128
987
196
179
961
302
517
66
930
475
745
290
158
854
971
411
329
311
715
371
14
324
564
781
147
220
586
962
300
216
113
696
436
700
452
501
980
478
692
118
385
302
53
559
828
99
178
762
341
740
339
375
446
77
772
671
335
233
290
936
719
812
841
919
773
773
925
95
961
222
651
576
173
232
720
452
276
144
840
258
98
492
895
998
913
796
689
920
676
20
263
757
621
380
546
723
362
561
622
913
278
103
973
102
817
885
863
158
316
186
446
396
73
749
286
260
717
646
705
653
354
516
809
70
580
911
63
474
219
89
32
480
554
562
274
11
906
106
367
47
634
766
792
470
27
552
685
292
104
183
488
757
16
226
196
895
646
410
173
105
958
740
510
287
869
259
500
808
707
964
85
369
803
422
79
423
438
106
533
352
100
317
894
58
16
843
473
951
986
175
335
596
837
185
901
426
216
662
458
988
30
996
280
206
561
594
264
954
173
346
801
87
592
532
127
729
900
122
536
231
784
324
654
705
65
571
425
476
207
886
604
77
344
704
312
671
323
774
657
875
419
740
489
45
660
348
154
971
148
1
448
830
384
575
106
948
353
953
803
644
38
785
79
926
139
306
587
357
960
913
768
717
860
353
385
437
163
38
362
923
162
975
4
16
686
273
12
835
713
983
639
151
689
293
995
255
538
728
744
38
813
69
410
586
101
154
68
153
570
596
473
833
508
715
550
558
791
670
761
347
511
838
50
869
388
16
972
446
170
855
102
623
967
318
42
271
345
577
161
21
44
949
700
481
401
943
49
300
897
450
785
668
771
411
545
211
315
69
922
592
272
26
347
349
769
900
374
599
322
330
841
322
772
424
163
842
446
551
398
988
444
511
781
170
724
740
155
265
562
173
87
784
65
781
482
237
603
627
211
41
466
455
589
550
553
468
549
10
629
978
999
343
512
992
186
639
610
698
814
188
343
988
325
658
360
860
10
789
904
535
551
572
337
636
198
429
628
607
20
365
554
826
572
386
463
551
900
762
731
922
986
834
445
712
645
190
426
448
384
942
434
784
938
772
304
762
26
172
763
667
379
988
934
737
225
17
838
893
259
854
753
2
549
653
946
916
995
739
103
673
697
261
801
819
57
187
467
733
501
995
581
236
477
339
327
511
770
833
501
548
260
841
257
914
922
819
164
635
296
341
167
352
623
399
227
764
586
932
837
521
878
879
150
385
876
166
130
483
291
213
41
901
33
494
538
705
445
623
870
713
728
253
945
990
610
787
572
84
288
552
760
480
241
585
808
627
762
682
816
140
962
634
406
470
566
906
663
425
10
111
744
391
271
745
176
27
324
594
602
482
369
121
597
905
759
914
255
140
100
978
421
997
113
251
811
433
678
225
768
315
940
967
85
147
483
147
131
332
339
919
513
55
68
609
646
841
192
221
878
226
54
696
287
715
549
721
873
408
244
639
610
241
121
657
767
788
543
143
969
953
81
245
696
697
511
477
325
145
644
176
339
33
639
945
48
478
115
280
13
477
666
601
370
376
377
812
448
792
534
311
361
114
21
140
763
753
809
542
592
791
570
782
407
515
640
474
874
612
515
64
100
473
598
317
706
138
105
867
27
897
981
922
344
459
114
204
812
920
405
79
628
436
30
628
38
654
767
86
954
456
382
689
346
498
920
471
52
373
154
949
354
942
634
980
446
556
496
275
954
405
670
181
759
223
191
413
715
920
69
309
240
487
590
74
449
710
963
213
171
787
952
15
185
958
507
518
41
634
422
870
77
321
760
360
636
845
88
700
21
990
598
316
435
691
824
514
996
345
978
386
958
636
888
240
394
510
163
141
969
589
463
895
873
347
707
410
660
852
622
934
483
713
312
94
229
184
399
9
99
1000
865
7
489
656
941
652
427
285
250
821
396
226
944
589
103
630
770
507
657
213
821
699
645
328
246
861
795
86
324
838
296
158
143
3
324
250
563
23
12
938
289
940
933
759
638
725
118
935
33
570
811
124
341
239
408
926
914
735
522
640
622
382
699
969
174
188
62
921
803
6
118
177
706
584
997
557
710
63
635
51
258
868
834
67
221
213
610
166
978
657
9
588
898
203
381
274
641
495
136
959
692
520
161
106
124
87
425
138
907
47
751
444
976
871
396
121
890
712
859
247
153
554
299
790
152
367
31
890
264
462
872
372
871
393
462
818
893
826
341
422
2
757
216
162
841
362
801
520
422
518
618
115
372
761
372
98
851
17
843
132
780
956
784
73
471
243
957
232
879
263
268
224
484
109
954
982
229
791
914
466
38
622
536
936
195
693
886
476
245
203
663
594
165
159
133
315
243
622
154
187
503
242
492
1000
506
304
835
823
83
882
338
184
863
983
30
807
472
757
161
375
934
954
387
179
104
802
720
374
937
399
339
782
21
528
678
850
69
529
692
391
14
489
841
233
929
540
121
724
252
526
421
351
685
604
603
374
721
640
948
484
933
400
39
965
65
606
733
758
471
910
592
86
649
702
31
69
434
478
516
800
945
158
285
943
499
367
490
781
548
188
114
21
121
296
723
376
427
723
922
93
999
706
359
155
232
206
285
849
243
739
940
725
735
61
503
787
932
162
960
891
748
700
967
941
29
738
768
438
96
180
228
355
866
764
344
95
467
885
924
495
644
781
719
487
237
817
948
997
656
690
55
121
595
402
508
459
206
750
658
694
545
881
972
175
411
219
443
306
623
676
642
1
352
599
615
337
413
347
853
779
282
755
594
82
189
975
41
989
849
361
452
405
262
119
672
556
534
441
371
995
878
684
178
996
766
981
907
1
730
332
301
310
427
845
68
113
436
282
476
324
686
494
484
383
545
629
161
375
394
239
179
330
920
529
250
547
474
21
723
151
571
881
966
854
26
952
781
62
268
353
880
73
100
107
323
86
529
875
951
129
348
309
27
841
796
956
725
226
3
886
628
118
897
450
98
139
905
650
253
305
120
615
278
346
516
578
985
959
479
597
843
930
145
934
203
76
8
695
50
414
832
824
452
859
159
12
770
974
599
420
860
35
650
373
707
688
28
343
384
24
323
607
798
756
369
936
395
501
864
562
927
866
638
430
373
169
459
476
356
129
412
225
731
784
715
545
515
263
276
783
48
720
437
825
45
944
128
874
212
656
76
818
240
513
808
157
253
155
958
353
283
447
743
332
895
201
595
638
917
287
580
362
71
996
684
585
449
940
1
496
950
561
608
776
230
529
191
79
222
942
541
678
7
223
649
394
674
84
463
982
790
717
319
18
322
649
699
167
124
294
228
438
618
360
777
655
927
638
102
904
504
647
727
178
266
826
662
768
330
655
115
214
731
183
559
795
905
916
424
598
298
910
150
174
206
235
597
689
821
670
578
236
509
590
828
693
557
567
858
97
961
91
935
5
357
172
935
736
866
317
897
695
426
537
908
219
205
553
383
484
791
376
884
88
159
760
365
839
883
824
174
129
644
301
128
45
855
461
779
16
150
742
283
358
555
524
376
575
380
271
596
620
284
486
265
648
475
535
724
935
740
414
975
795
835
953
188
271
785
807
502
333
812
795
168
113
938
813
364
433
786
588
942
513
737
14
954
283
408
643
68
164
355
214
872
535
10
755
621
352
133
878
221
545
471
384
85
908
901
184
52
126
44
853
723
518
258
827
425
812
923
379
502
998
177
33
788
872
562
981
922
417
609
436
643
558
21
558
311
156
951
755
686
324
857
710
432
284
550
443
897
12
333
74
480
865
616
736
277
238
947
250
796
41
204
775
190
461
587
606
893
27
146
730
519
487
784
510
605
367
89
101
93
383
877
806
467
67
31
613
92
47
81
557
635
472
987
402
384
918
735
389
942
998
706
394
6
567
256
960
918
79
553
63
240
161
562
369
852
948
970
5
999
24
981
545
236
113
161
978
473
801
928
937
166
638
882
359
243
955
852
26
537
598
493
180
326
579
236
488
108
318
660
172
848
776
666
42
781
257
359
493
311
83
237
287
654
660
62
64
663
681
816
87
712
325
264
695
606
380
928
286
202
115
747
418
887
621
298
830
55
65
203
709
492
971
295
576
917
212
142
521
972
868
828
338
633
490
204
307
354
583
430
996
257
329
281
462
333
660
579
682
923
798
101
840
723
296
507
376
169
417
141
310
352
428
25
446
524
6
53
481
872
492
126
931
464
171
961
58
188
105
399
632
55
299
297
490
461
150
510
294
867
175
58
831
891
16
271
450
989
579
637
2
740
959
79
700
242
488
619
872
305
852
728
511
895
726
179
831
789
775
877
806
495
199
993
794
285
225
679
914
619
62
793
793
325
899
364
668
650
434
963
600
706
306
763
720
888
529
826
47
546
698
77
349
602
316
510
973
777
43
379
333
833
63
542
966
534
49
647
680
47
391
565
340
152
461
323
262
951
687
811
11
708
122
685
663
85
4
248
199
347
547
541
786
979
801
522
139
820
986
24
20
3
135
99
219
954
216
495
16
202
185
253
222
16
560
836
382
729
192
790
608
158
857
644
838
685
209
660
991
433
384
99
630
464
257
834
257
50
961
531
269
928
747
119
992
859
727
937
874
990
299
774
139
248
334
995
692
452
299
98
71
931
530
319
578
156
830
368
496
313
392
988
494
808
820
774
874
401
675
621
331
34
532
256
279
469
32
505
596
510
759
377
863
932
88
556
766
254
330
621
369
124
594
132
376
395
800
785
356
963
179
959
113
19
428
330
62
685
398
704
493
911
815
853
88
115
106
944
907
286
803
74
324
186
364
576
94
829
518
973
787
651
378
915
335
635
648
986
316
207
219
12
927
880
335
384
271
483
286
954
730
300
285
256
691
595
781
179
843
818
970
712
566
236
664
55
709
889
21
227
158
493
827
263
194
411
188
251
544
860
491
736
453
271
472
486
813
156
41
191
621
858
298
482
577
288
813
506
636
141
837
435
744
85
547
473
746
122
847
334
711
652
510
697
496
764
636
860
407
947
523
650
250
708
22
673
869
548
380
162
548
389
395
981
264
805
396
861
847
346
250
543
554
847
72
333
447
845
798
493
198
142
120
22
658
115
521
633
596
565
333
143
494
807
790
94
191
194
35
118
471
484
901
492
395
275
104
315
280
242
142
4
780
75
810
105
405
784
765
973
200
574
939
506
985
530
964
970
773
207
967
931
460
602
230
426
901
106
252
822
815
757
688
259
745
556
486
167
466
605
296
117
842
623
907
196
85
691
996
142
789
155
992
751
926
282
198
398
152
611
633
121
442
925
210
361
53
443
26
345
252
124
460
104
94
957
771
260
747
706
645
90
536
895
900
812
901
717
157
696
941
167
856
404
80
927
405
883
656
455
624
291
895
270
888
640
863
644
530
304
410
810
149
107
86
275
429
406
247
62
951
520
340
505
283
866
396
749
309
366
364
244
359
66
774
324
227
399
587
458
535
200
838
845
263
413
772
827
458
399
805
33
274
907
508
223
539
44
271
598
970
50
976
705
24
285
289
148
122
577
662
8
626
42
206
294
556
518
947
707
462
6
795
755
280
910
751
536
276
394
513
555
365
870
645
552
201
514
899
653
448
690
128
118
523
360
448
570
957
840
972
888
211
806
478
858
435
24
827
282
189
131
826
496
570
691
501
130
585
915
391
529
790
631
605
454
457
569
842
547
542
564
467
602
719
17
53
831
627
862
513
179
271
303
27
245
179
799
528
482
560
143
411
212
175
966
477
409
65
688
857
353
587
760
806
36
446
15
810
616
519
83
409
326
334
132
506
987
968
639
681
670
23
488
247
112
57
489
327
228
525
287
237
399
855
748
868
268
746
106
537
459
159
567
2
960
768
594
946
935
823
806
258
340
462
274
852
86
540
24
620
394
940
704
346
672
143
707
30
466
571
541
172
7
832
844
969
463
552
251
291
232
902
282
527
541
277
501
121
159
868
476
639
249
981
497
756
265
75
545
415
325
415
795
704
660
171
769
744
612
521
335
954
118
55
929
593
788
360
744
427
502
152
133
669
881
774
156
94
167
145
11
390
762
521
80
329
164
513
449
324
88
873
81
292
339
496
225
521
387
916
298
391
652
354
215
432
254
34
57
124
298
15
59
314
860
327
120
853
466
500
422
326
230
938
311
317
812
719
252
711
993
540
570
916
988
515
681
770
582
455
674
94
796
54
462
532
57
166
169
345
806
943
79
301
37
186
265
660
529
667
940
516
437
543
730
462
452
239
278
584
965
350
35
326
550
136
677
625
589
219
283
38
73
922
347
294
428
492
684
791
724
154
552
119
786
525
601
576
526
424
840
13
266
534
430
55
990
678
959
905
184
715
842
487
397
149
608
648
743
647
147
484
282
529
426
649
665
203
808
668
451
243
846
870
240
465
368
520
122
944
725
163
3
376
315
968
1
567
885
69
498
123
648
530
400
599
963
557
819
484
174
45
707
377
217
331
916
631
789
306
813
577
170
666
836
124
287
133
300
213
261
934
392
83
434
705
499
797
867
240
939
791
361
183
731
493
367
863
226
189
518
935
328
402
128
406
537
27
725
915
248
319
558
847
562
647
85
986
384
600
631
906
720
637
771
256
893
980
510
413
887
847
972
706
115
467
189
593
723
501
501
678
936
673
268
456
83
401
848
18
658
199
281
705
185
454
690
921
720
926
207
841
524
10
124
786
844
335
62
405
714
760
161
623
444
224
722
507
730
163
221
824
377
418
364
92
249
662
679
336
367
352
168
606
61
162
706
549
689
631
189
983
726
514
947
440
937
936
525
152
977
992
785
779
968
880
185
458
539
1000
226
448
346
694
309
697
338
505
667
173
868
835
612
682
310
924
65
212
13
898
224
516
256
455
285
820
387
431
298
995
456
98
638
515
493
533
45
823
3
848
883
471
427
325
82
564
52
796
208
567
305
678
244
499
460
137
967
913
528
806
245
820
502
303
187
887
197
577
850
842
633
741
116
991
276
670
429
146
507
37
327
83
326
931
57
839
698
403
159
771
889
545
546
350
836
756
506
32
870
890
55
450
118
870
218
353
477
177
172
398
395
351
647
942
568
254
614
422
298
415
104
818
480
170
936
922
100
713
233
820
675
379
898
112
291
686
592
837
778
685
386
991
46
191
945
829
854
294
19
840
66
388
43
404
983
596
856
662
484
123
909
42
492
521
830
250
807
298
901
231
400
604
813
790
88
959
62
90
933
104
457
202
788
109
547
273
168
804
194
614
39
455
122
199
151
345
64
674
272
610
22
913
74
214
232
607
392
458
680
134
331
748
368
192
985
695
103
277
547
759
270
104
253
768
901
522
898
665
377
271
624
707
257
201
324
209
66
192
261
587
340
84
448
158
879
381
921
610
944
343
292
579
78
370
860
42
366
253
124
559
162
934
762
496
792
935
9
485
251
484
879
298
711
685
906
243
477
784
852
924
133
687
393
954
776
427
912
749
618
175
335
104
731
752
429
590
401
326
101
192
351
109
997
791
114
453
152
242
934
669
536
828
896
284
68
814
422
195
96
679
889
388
377
354
865
440
336
446
408
38
731
22
918
121
877
965
291
78
300
333
491
622
985
394
207
579
427
250
967
867
299
17
935
339
909
574
616
28
549
757
893
538
466
756
110
7
488
122
424
84
235
487
275
849
474
591
616
454
380
681
492
531
427
667
682
100
129
718
360
792
111
84
150
682
849
56
553
928
941
911
406
722
961
576
985
741
788
547
339
448
801
274
697
47
476
827
122
894
745
166
96
439
930
747
397
553
187
512
457
220
190
535
365
132
195
731
812
682
736
60
583
215
937
614
642
162
841
814
459
877
199
700
3
544
903
963
729
558
584
931
979
137
969
195
429
743
223
944
618
109
900
360
136
248
72
618
736
889
890
139
503
164
141
738
236
232
297
232
333
766
229
886
838
853
984
794
750
927
991
929
365
818
641
126
198
839
433
711
973
123
782
835
315
108
154
815
980
115
383
974
941
498
931
506
180
704
360
886
775
899
461
226
790
531
356
744
459
298
356
240
427
517
528
27
106
827
725
315
754
473
308
421
540
168
905
524
687
690
327
877
764
875
202
557
329
698
979
824
441
417
697
145
986
603
315
764
379
986
471
452
958
691
233
750
327
376
810
566
952
217
168
474
562
475
246
436
298
560
741
958
72
188
489
877
344
163
70
87
326
821
610
501
680
946
709
473
923
245
33
701
80
101
409
386
620
371
181
21
318
460
169
736
527
764
856
566
240
853
277
358
474
419
690
281
745
135
306
73
825
15
226
227
565
805
262
272
263
197
503
221
993
399
347
8
305
683
176
444
945
74
47
837
578
248
554
883
14
66
494
895
118
885
94
723
393
947
314
946
214
699
213
58
833
849
415
396
564
326
487
510
6
93
434
503
770
932
572
655
942
890
775
280
431
99
425
339
416
39
475
824
362
138
666
264
435
810
329
58
706
635
153
449
230
418
1000
131
952
282
111
433
376
783
59
954
144
290
386
340
958
488
168
621
784
944
671
148
909
121
862
699
206
83
773
803
927
417
637
619
442
573
256
21
606
886
296
667
850
72
48
898
686
842
769
310
14
620
837
692
552
19
862
835
699
883
342
390
397
192
631
560
872
74
791
924
669
486
356
80
59
876
182
143
719
287
303
313
565
893
173
917
778
948
754
306
311
459
662
971
671
700
981
70
328
824
413
325
899
449
159
902
158
47
289
447
995
394
385
955
698
122
937
481
292
621
296
36
242
161
5
169
499
125
965
860
751
662
215
325
731
910
54
276
618
180
887
978
887
116
411
168
444
945
735
544
520
326
585
49
598
228
21
641
589
502
959
566
579
503
403
416
749
204
450
422
453
713
50
485
63
37
2
434
874
188
867
865
283
489
312
730
478
7
902
493
98
586
502
319
647
870
272
217
992
47
693
519
927
769
191
350
601
866
697
989
619
15
930
167
723
482
264
338
302
418
792
952
370
977
616
573
324
670
431
454
504
981
201
847
513
243
99
873
358
186
892
275
640
333
663
739
486
680
82
770
398
667
449
283
925
491
373
180
920
223
274
192
133
46
839
172
102
146
227
827
578
450
38
635
251
443
46
291
139
776
263
571
831
218
152
959
699
780
711
715
319
538
705
317
588
724
552
383
456
195
226
240
761
229
78
270
387
946
650
66
855
337
418
198
490
2
870
80
533
208
502
52
887
845
112
265
738
120
242
384
923
654
730
449
773
708
141
431
126
895
236
191
336
614
776
533
420
886
664
39
911
970
868
186
607
372
591
6
162
397
902
227
390
423
397
387
216
436
487
878
458
199
602
287
991
602
936
647
403
391
357
448
953
465
753
313
481
372
416
274
953
458
991
503
492
382
188
133
35
319
695
574
307
276
682
321
361
349
878
808
793
653
437
299
650
918
735
150
172
402
768
51
772
887
69
976
72
979
912
699
389
868
110
636
800
955
896
720
797
516
209
752
597
643
224
387
355
253
96
516
902
854
705
293
143
125
672
476
887
74
2
80
761
699
531
537
790
631
745
719
389
187
677
185
812
631
280
979
522
213
139
152
597
727
387
918
12
913
446
32
567
26
562
544
324
278
156
557
623
669
667
974
138
928
920
554
2
900
66
732
696
734
756
799
281
662
550
33
544
970
523
261
821
35
642
180
556
917
775
479
163
55
126
414
387
98
473
58
138
717
860
862
753
568
244
522
721
217
226
417
178
932
154
7
899
736
783
686
100
21
210
543
57
300
967
350
494
404
24
908
674
542
911
563
386
150
372
286
327
397
723
252
925
534
589
227
296
35
800
420
885
590
8
647
261
595
16
831
762
717
915
842
885
502
857
678
847
728
703
781
293
428
843
104
923
45
203
132
713
203
816
686
484
960
385
791
806
212
922
249
615
128
901
888
449
97
380
613
936
725
155
497
992
791
360
157
238
953
881
567
261
215
551
288
732
801
418
786
822
160
260
198
24
255
153
372
279
175
122
511
238
373
822
49
628
498
740
690
916
902
644
660
925
344
858
312
590
369
485
195
805
85
882
578
184
810
513
190
605
143
842
669
618
573
40
752
122
620
115
814
282
870
530
699
266
997
506
181
257
996
961
543
142
427
509
953
440
400
999
311
311
432
830
205
951
27
707
449
266
63
509
448
495
611
727
277
384
810
222
942
537
844
156
757
878
818
585
157
465
594
559
546
513
217
568
982
122
604
846
581
113
603
312
554
351
334
947
674
121
987
969
812
450
895
512
874
735
743
375
149
687
228
79
557
395
378
640
771
255
964
427
516
626
157
1000
616
328
641
59
502
524
889
492
972
100
205
42
988
390
436
310
124
965
965
634
123
293
721
893
674
210
431
430
124
571
315
109
376
895
710
972
583
549
881
95
612
788
397
25
450
986
37
590
862
515
107
994
650
24
438
848
791
319
112
167
601
664
118
465
809
62
731
757
98
23
414
682
224
372
407
946
320
909
996
30
343
88
651
382
934
474
827
365
140
375
275
846
543
965
87
648
358
177
588
37
963
846
374
42
143
890
485
690
64
806
724
160
595
396
602
473
175
426
258
547
827
872
963
387
277
527
499
724
417
986
795
607
476
457
667
386
348
415
440
982
508
857
497
574
807
791
531
655
240
648
386
907
460
493
873
496
427
285
918
213
59
927
682
320
201
535
64
132
499
177
136
84
36
294
609
525
684
187
385
529
173
221
618
777
826
853
475
975
748
210
971
316
20
685
828
217
104
960
288
941
233
921
240
732
40
171
778
780
50
241
545
667
960
126
830
970
801
484
383
294
195
697
378
388
928
996
744
902
944
22
358
4
711
525
222
333
620
386
796
711
708
779
138
617
543
75
331
690
525
75
980
406
252
215
229
659
787
696
812
177
909
876
179
578
409
863
595
404
537
954
434
651
546
471
595
154
77
595
81
692
822
964
289
814
505
200
513
211
707
20
465
920
503
253
381
772
161
921
420
267
410
519
594
487
892
760
460
789
449
360
155
698
862
874
94
894
469
202
898
200
887
161
624
213
686
416
413
583
456
158
49
987
168
135
714
513
121
37
453
523
39
775
458
51
86
905
311
453
661
281
756
331
843
67
382
727
260
370
879
182
979
123
120
571
748
279
421
525
513
67
775
852
731
808
695
634
374
771
616
554
928
651
442
580
894
492
940
345
505
317
136
449
409
317
809
406
48
126
433
171
357
671
669
18
174
73
581
24
462
289
308
582
19
575
827
166
888
299
789
47
72
368
127
763
457
310
323
950
125
65
714
550
308
646
234
520
303
165
313
907
612
123
439
556
411
514
69
781
191
16
144
39
114
496
478
35
165
104
652
680
649
474
876
62
997
944
476
867
90
240
279
740
532
766
183
705
389
517
646
56
909
629
635
131
680
750
835
992
448
746
559
279
595
738
832
504
880
102
626
578
566
852
31
659
542
784
457
279
362
872
634
289
379
641
232
370
349
707
457
720
888
193
832
80
205
521
702
417
354
915
695
444
80
31
495
642
997
306
795
618
446
998
234
420
893
372
437
915
117
184
54
442
779
428
781
760
175
284
963
693
104
363
284
28
812
619
440
919
952
759
469
470
289
593
550
250
684
507
717
171
537
195
882
561
418
822
984
280
118
59
855
412
716
790
643
424
535
854
193
635
84
862
861
558
138
27
620
917
154
905
185
170
107
159
82
943
653
749
282
79
254
465
33
952
530
330
985
256
629
200
605
761
859
860
84
398
175
988
692
620
359
644
539
196
905
357
267
452
673
451
31
517
366
985
468
327
751
581
39
938
344
432
264
252
952
19
860
365
84
379
752
593
738
325
245
669
479
642
370
737
56
151
594
565
997
480
606
795
798
536
865
178
311
970
968
461
916
361
632
12
882
464
303
329
94
625
970
271
985
394
730
271
60
418
92
749
905
962
766
701
916
757
910
731
304
459
433
800
99
657
945
637
989
259
395
48
829
99
268
332
570
732
432
634
166
782
398
341
756
615
797
577
32
803
319
405
258
604
263
651
816
660
64
99
557
185
901
431
422
228
517
453
18
969
902
48
877
596
386
805
81
67
978
490
861
905
496
317
524
253
164
526
766
601
846
886
44
954
46
584
160
727
98
391
631
320
744
167
755
152
428
485
471
906
175
643
259
895
911
394
388
729
411
478
701
927
864
435
40
725
185
266
122
89
834
186
367
863
834
112
722
45
140
548
30
455
240
220
835
383
159
135
831
414
565
765
345
284
776
694
338
489
833
363
411
395
672
541
232
742
658
753
598
788
379
182
78
790
669
490
804
180
275
606
541
582
436
757
565
766
952
945
266
725
941
611
630
357
622
454
913
631
904
252
899
675
492
28
92
12
502
149
94
978
286
705
179
482
300
102
787
397
340
868
258
285
426
568
622
630
934
97
671
436
302
843
878
895
811
884
917
766
476
923
704
278
28
661
886
668
365
131
664
871
592
860
678
550
949
839
442
353
541
945
472
258
718
872
821
898
402
638
208
11
432
415
307
563
199
789
53
588
488
525
2
547
435
600
900
815
942
552
597
959
736
154
381
599
490
81
592
6
60
465
136
45
965
206
111
727
673
497
326
413
138
222
920
680
295
870
627
944
888
76
521
223
112
197
194
818
23
147
423
282
556
269
334
769
327
201
961
750
57
539
876
119
615
583
274
916
165
619
473
259
848
1000
310
565
744
738
331
843
627
464
961
641
138
375
99
213
584
227
698
629
503
522
905
823
512
795
326
31
731
283
781
688
243
354
703
599
626
764
971
126
609
181
561
215
271
471
844
303
15
884
767
550
765
660
414
364
435
541
660
915
741
350
705
161
874
83
312
940
350
965
439
852
615
490
830
966
642
801
792
883
769
644
68
316
512
776
213
138
966
906
355
820
629
179
531
254
211
771
104
250
47
364
845
396
218
160
421
552
403
606
934
986
764
196
68
25
882
562
185
178
881
538
399
841
387
68
253
87
913
614
134
546
569
198
971
34
760
323
79
443
665
818
226
352
845
49
156
998
298
81
796
491
612
63
364
659
687
569
399
464
610
645
526
743
923
43
412
898
446
511
929
280
251
2
35
203
185
378
246
951
522
521
862
636
969
741
320
530
251
58
104
277
930
205
700
466
956
200
956
185
679
942
27
493
691
548
848
259
937
123
638
425
968
202
558
562
98
382
5
526
477
550
439
143
779
669
862
95
289
323
229
615
655
56
151
166
468
114
212
10
142
337
124
465
263
829
683
687
705
503
245
20
307
768
983
306
867
421
727
67
503
296
582
138
203
302
841
148
515
318
944
238
875
788
339
541
51
1000
169
234
514
742
622
429
353
459
649
778
490
73
506
432
572
366
223
896
874
172
702
420
962
679
574
785
656
803
376
730
56
957
851
813
990
518
396
201
264
964
761
737
552
942
134
649
549
522
612
424
286
489
939
708
136
811
48
577
97
368
635
140
394
592
472
252
299
942
667
55
353
33
376
172
851
772
753
644
501
125
92
114
709
942
155
347
804
868
679
890
811
481
933
587
128
704
949
684
527
979
803
473
469
892
861
779
602
711
446
106
689
787
783
923
912
874
395
397
673
229
346
874
561
744
860
522
78
502
886
876
146
857
101
433
112
563
719
104
217
530
212
43
10
502
715
326
247
316
441
6
137
448
943
322
664
216
387
210
886
361
338
815
728
731
710
404
816
428
661
942
331
99
205
581
676
26
217
528
998
274
352
22
269
443
81
691
646
508
717
152
319
823
819
539
912
593
800
584
761
50
937
979
87
110
208
17
148
506
557
921
963
265
263
863
76
936
40
373
144
138
399
766
830
860
569
221
619
432
979
386
653
237
905
693
656
53
371
121
326
359
825
793
303
104
422
626
992
152
964
215
60
122
679
311
373
369
66
502
520
646
964
182
838
363
859
492
21
435
188
686
980
405
75
285
626
937
494
452
623
755
317
287
965
829
107
67
454
936
786
75
748
704
498
289
684
931
105
115
3
258
731
334
433
244
712
597
334
533
95
144
748
41
576
907
750
74
396
758
447
833
220
514
867
56
522
208
193
395
284
277
539
740
131
563
498
887
127
450
207
814
591
27
565
387
191
910
530
471
526
232
152
280
133
363
87
295
588
117
880
222
950
561
212
291
306
49
663
636
587
792
250
645
142
63
185
935
776
166
800
30
103
383
603
943
79
463
731
565
536
606
892
216
392
567
29
734
949
203
524
213
373
756
781
869
994
219
384
538
564
353
836
7
963
336
128
696
163
539
946
228
407
669
382
79
711
308
447
779
754
965
470
141
166
867
772
591
26
75
596
953
105
979
347
999
28
864
662
618
50
34
675
771
613
942
129
234
146
852
655
750
899
864
618
374
686
503
439
718
540
694
164
284
221
647
382
296
415
72
301
256
237
186
870
966
357
191
411
887
648
220
98
553
779
313
998
175
580
599
85
745
307
733
831
672
198
582
480
479
791
321
115
125
556
368
957
285
303
55
126
348
704
531
261
904
985
164
986
249
557
610
190
785
862
808
495
236
244
396
74
269
981
406
207
462
940
667
553
559
493
31
167
598
415
397
690
803
537
510
988
118
779
713
749
863
45
109
198
272
183
112
148
622
820
979
23
234
440
716
431
890
514
718
41
106
819
569
279
253
366
734
380
757
498
270
867
448
799
264
381
689
412
435
133
84
265
230
912
392
481
782
739
809
924
301
744
894
468
834
789
239
42
814
685
470
942
533
598
238
210
451
374
704
93
268
67
384
748
814
931
375
377
94
459
693
912
295
879
858
251
157
634
948
760
875
12
19
455
606
37
202
803
766
147
784
610
488
997
285
785
24
912
866
97
428
131
420
224
528
31
336
470
80
905
245
570
985
742
8
881
646
657
857
86
836
306
838
267
963
629
684
827
220
767
795
274
941
813
284
329
390
390
920
167
365
651
393
856
216
456
510
206
328
904
813
342
680
340
660
236
822
235
957
375
507
46
597
468
252
298
155
837
313
619
527
697
891
404
33
69
936
127
945
445
550
37
554
677
829
121
622
762
980
803
561
329
658
751
714
681
776
583
891
170
513
981
719
554
798
960
399
711
369
552
216
776
390
217
475
310
685
644
613
607
904
444
881
597
294
394
350
115
308
578
997
481
984
708
264
446
885
408
801
563
392
34
82
931
316
849
170
117
138
32
238
755
635
42
329
954
312
305
478
192
853
81
538
820
729
623
959
621
254
405
342
167
587
319
792
834
644
173
966
429
431
778
252
362
58
162
692
143
558
192
95
810
712
986
300
556
256
13
694
440
204
708
893
559
545
781
964
486
243
107
709
71
272
244
260
952
424
195
733
237
753
952
722
859
815
753
199
47
316
752
772
205
379
948
317
249
415
855
716
107
497
330
802
660
198
407
653
872
119
771
35
241
676
730
165
982
302
122
946
553
888
670
474
232
163
663
946
453
710
722
42
518
511
634
491
145
193
857
807
990
686
406
105
952
585
228
517
589
357
79
954
411
424
179
877
179
324
573
299
574
354
246
447
783
569
506
399
606
549
46
518
646
92
407
719
64
896
264
414
121
290
73
504
453
334
143
923
617
912
111
57
935
986
153
823
96
843
972
313
292
979
779
702
850
255
25
523
523
109
585
537
558
874
482
150
672
728
998
734
859
401
199
292
758
511
472
580
918
349
688
221
919
985
968
330
735
807
860
878
135
985
922
371
188
921
325
385
142
404
129
181
33
89
276
932
398
903
215
28
362
156
281
600
213
472
624
626
256
120
512
963
423
975
301
207
614
122
234
550
190
86
487
702
408
739
580
492
821
256
314
3
839
846
939
945
706
608
109
508
140
574
486
121
733
891
605
397
20
127
663
996
811
916
466
365
969
478
671
43
341
87
803
751
934
220
253
565
773
942
626
277
87
79
344
459
588
840
381
861
682
876
361
495
338
193
19
192
243
941
214
439
596
884
257
53
555
254
306
611
936
768
974
566
218
842
110
695
299
394
901
839
733
186
83
900
362
359
36
723
372
665
4
788
780
913
472
612
313
313
15
366
399
738
540
524
779
394
921
258
817
24
469
900
172
581
554
58
903
241
964
830
441
738
247
177
130
264
401
673
162
602
721
780
847
728
547
267
87
854
933
635
843
769
983
192
132
376
692
969
821
541
677
792
51
692
88
644
649
159
342
914
289
879
32
257
488
948
550
564
734
452
473
973
181
167
747
949
386
11
68
200
496
573
600
606
147
650
385
405
95
498
365
567
247
411
912
690
349
313
189
781
35
301
440
925
350
433
524
249
117
632
623
542
737
252
81
557
88
718
744
325
208
666
5
801
348
183
20
750
817
52
177
77
727
415
964
746
431
883
850
11
923
927
634
927
957
338
15
34
978
635
792
640
192
579
190
355
297
353
305
416
434
573
553
840
923
982
304
650
185
611
594
259
86
203
931
582
590
917
711
600
238
669
709
935
450
991
432
412
79
965
846
769
943
579
180
385
308
881
3
399
401
418
765
622
83
729
361
446
760
150
17
307
431
755
4
364
560
44
253
734
102
904
937
21
580
432
487
894
594
458
292
158
504
986
574
88
347
307
506
829
201
252
694
265
339
899
542
128
509
68
877
38
578
103
438
805
617
765
470
607
213
539
744
590
414
307
742
12
279
116
647
322
422
742
36
456
288
820
828
192
177
634
163
630
165
3
355
712
158
350
938
268
276
708
175
209
651
357
59
368
517
788
980
960
133
922
742
806
720
846
528
265
62
857
787
280
854
261
690
74
183
208
9
813
766
823
797
974
692
27
196
257
439
742
82
632
906
624
36
500
22
57
254
18
270
946
679
355
106
706
525
2
839
977
860
318
993
788
627
139
575
296
762
658
934
771
628
743
100
195
44
549
601
685
588
564
739
7
705
200
240
551
368
673
987
525
720
185
289
572
133
354
760
658
617
436
412
870
355
123
29
738
413
609
205
757
361
177
723
94
605
765
70
844
740
862
997
811
122
588
966
483
141
10
229
802
427
597
63
321
278
193
376
600
183
47
505
989
182
265
526
510
175
485
793
186
18
735
786
5
394
166
507
684
989
840
850
534
475
791
376
28
158
370
868
114
910
259
914
935
218
597
478
360
704
413
129
678
525
878
119
849
412
965
24
967
927
767
978
960
726
65
897
97
215
732
193
585
38
235
664
380
218
777
174
354
654
597
704
138
869
587
150
271
592
626
952
772
775
5
313
905
126
876
244
669
97
928
168
530
518
383
134
986
796
962
946
855
601
710
693
555
540
405
212
250
143
835
6
458
822
401
7
596
173
335
368
7
91
339
157
168
688
587
421
188
956
842
604
185
413
932
704
796
743
905
869
931
557
9
374
821
981
40
19
587
718
720
69
825
594
491
744
160
384
533
168
340
871
861
411
172
690
77
916
567
493
729
204
988
361
242
171
871
194
94
724
934
28
229
755
870
827
712
648
598
323
271
640
109
914
688
315
958
445
976
468
618
957
872
363
239
114
495
140
846
82
914
768
624
97
981
454
760
798
48
892
240
716
34
43
121
931
947
434
45
40
103
98
203
41
219
354
508
651
41
601
482
852
385
171
250
201
278
82
64
522
420
227
8
148
307
110
858
777
184
786
598
371
459
25
788
234
331
84
744
583
155
650
542
447
523
691
939
714
102
952
633
484
39
792
718
691
141
914
800
85
95
266
1
301
700
95
9
697
481
659
382
42
56
611
577
950
322
424
529
160
876
535
188
358
62
44
76
287
724
954
826
301
998
886
653
347
516
161
877
605
943
924
956
679
104
734
950
240
855
664
995
531
465
477
149
967
511
916
912
359
195
472
853
962
557
249
22
611
262
726
242
738
522
258
967
913
236
150
109
892
620
6
126
839
435
858
719
505
424
244
674
693
713
32
738
221
754
281
949
969
838
826
494
319
346
620
994
423
663
64
104
332
139
707
449
929
552
709
218
2
275
432
165
553
777
348
418
627
116
220
196
503
819
174
527
109
898
839
60
901
810
212
359
240
812
287
413
540
543
768
663
33
630
372
532
54
787
351
308
154
186
837
251
183
833
541
944
746
306
162
246
45
510
557
692
203
7
393
808
611
98
500
608
694
61
613
505
789
868
523
948
478
247
925
377
807
193
399
515
333
875
45
555
807
445
241
588
619
414
896
445
843
122
355
217
809
305
781
888
696
933
467
894
508
296
26
916
183
777
804
885
284
877
199
25
891
839
784
714
851
643
255
84
509
246
282
605
403
675
243
296
181
3
733
871
160
268
418
839
562
156
539
534
412
585
882
97
500
402
535
695
626
74
122
610
511
578
491
419
412
726
35
147
491
772
894
158
389
509
338
549
327
976
496
982
268
558
445
225
332
518
374
131
696
949
193
456
692
709
468
668
652
158
21
899
337
428
871
245
465
500
471
933
920
585
319
251
737
179
123
742
827
691
657
871
733
731
323
286
395
966
236
811
34
982
319
539
765
715
509
718
504
831
679
661
36
918
288
568
873
443
84
976
666
239
422
530
488
693
875
917
272
919
866
84
29
934
968
325
275
256
400
413
242
422
981
742
50
619
457
326
994
988
716
610
515
230
835
260
194
772
333
500
344
137
244
91
387
129
844
771
201
116
960
805
70
2
785
323
704
429
45
294
21
385
177
302
27
680
893
774
214
668
151
940
309
190
79
627
99
977
835
892
323
622
754
660
303
828
371
741
46
813
69
69
69
675
187
544
82
996
373
611
952
187
867
581
106
903
170
769
613
343
253
688
748
431
71
924
719
658
622
825
605
835
235
790
288
149
70
778
290
661
31
660
1
848
454
127
718
867
914
208
304
958
508
884
27
844
748
871
328
980
3
449
835
297
76
92
954
393
51
763
737
187
56
933
547
726
927
820
238
186
73
828
184
81
26
924
528
375
247
502
406
480
797
331
794
111
335
318
809
567
797
183
979
297
765
578
25
549
205
868
173
489
786
542
874
409
414
203
57
571
980
185
770
769
580
87
81
933
610
973
655
944
215
520
293
375
556
158
18
52
209
122
10
179
829
373
814
237
887
563
736
75
884
553
311
355
961
533
19
42
234
433
188
696
490
159
171
155
110
163
415
575
225
999
19
942
130
792
732
873
928
27
115
947
243
650
766
869
554
236
91
468
421
905
97
930
385
759
70
664
838
790
812
905
508
664
316
500
530
293
360
294
214
792
554
229
769
327
751
533
216
313
624
376
644
634
398
974
782
866
404
413
581
953
164
384
137
454
171
615
798
234
400
62
778
467
838
764
924
885
38
892
529
488
724
691
283
357
30
912
474
772
798
844
566
565
690
249
126
554
572
348
893
915
735
483
438
561
54
262
494
972
82
779
525
391
458
982
503
20
692
373
214
638
581
15
596
47
28
239
774
926
27
559
474
911
904
17
453
224
708
618
417
729
802
546
673
109
293
591
399
728
937
566
4
851
531
549
510
107
634
435
277
482
630
663
668
660
808
941
455
234
102
480
857
185
606
533
110
989
777
9
381
954
509
564
642
641
879
824
878
757
439
367
583
518
368
638
77
288
682
259
608
241
954
66
527
902
673
793
120
690
475
513
810
2
937
841
516
948
547
413
954
584
750
354
495
381
680
277
43
700
311
864
31
250
269
230
268
872
479
64
867
484
154
37
888
710
376
61
645
529
654
783
870
270
406
112
33
405
269
692
164
908
491
948
469
365
463
782
872
660
575
998
377
807
216
311
797
409
695
111
976
331
256
227
96
363
179
594
37
81
158
72
50
615
750
665
207
776
733
52
159
803
616
628
768
63
384
235
82
133
821
388
927
97
347
68
133
298
427
95
23
486
3
686
341
50
310
39
243
998
682
712
298
452
640
96
731
673
637
511
292
76
327
336
180
238
106
93
464
668
999
597
291
963
651
138
969
48
306
128
706
364
188
839
387
269
596
623
265
381
391
520
869
298
274
230
726
941
391
248
757
741
388
369
283
43
949
873
668
385
249
437
522
759
528
234
276
574
121
738
655
800
939
459
281
686
302
215
159
537
490
581
312
235
134
814
186
622
804
929
740
360
745
571
339
611
748
990
642
737
571
746
703
218
132
710
415
161
973
589
220
112
116
434
765
335
477
571
788
393
495
945
64
629
455
155
689
133
289
309
314
827
296
454
213
648
313
482
211
135
357
343
589
377
653
887
34
969
260
861
589
516
228
416
363
289
320
991
412
808
856
570
851
506
171
147
719
132
505
682
551
219
876
943
933
775
656
446
522
318
83
86
155
549
948
195
713
207
17
470
322
133
538
643
363
174
373
808
469
289
842
47
397
185
395
369
195
850
596
989
565
600
708
678
722
626
401
249
308
606
682
232
130
604
186
462
588
365
409
591
653
119
255
526
178
166
561
399
142
861
856
957
137
78
708
197
57
876
439
665
472
898
872
79
607
956
31
838
220
394
396
549
889
56
409
909
428
123
396
149
156
644
982
799
792
340
374
681
561
111
581
905
922
768
784
133
8
655
556
527
478
249
589
606
952
268
882
705
673
546
135
853
280
728
177
660
873
813
869
244
627
744
826
310
278
502
715
253
738
635
620
551
937
740
156
777
754
206
605
275
572
417
320
905
513
698
48
327
956
537
626
924
244
967
707
854
830
578
785
688
272
287
827
758
600
893
211
647
579
414
543
208
298
414
139
142
349
812
603
418
552
185
8
781
859
184
605
151
549
491
899
996
325
700
153
649
226
595
90
90
559
571
632
956
183
371
17
380
575
862
502
829
60
334
206
249
478
679
307
708
349
840
962
201
268
147
814
437
901
490
879
247
413
801
962
708
602
988
457
203
317
289
548
422
962
982
395
729
25
549
815
430
598
663
347
203
800
830
387
368
867
127
193
746
422
217
212
525
110
783
130
995
327
549
437
969
276
323
138
445
946
879
405
378
886
15
611
442
867
863
189
290
595
349
205
177
664
731
335
717
832
308
218
230
533
726
758
346
259
766
37
535
70
167
941
770
33
804
456
809
826
514
890
467
111
947
922
815
493
98
492
474
99
600
3
5
831
396
234
973
351
204
638
405
711
4
429
236
351
876
954
806
873
696
391
647
573
547
716
597
273
225
236
744
335
892
708
828
129
742
224
507
381
537
583
327
26
997
827
327
164
342
2
955
700
703
945
382
91
764
102
340
356
716
949
367
199
572
587
654
639
917
468
785
12
438
13
283
623
949
110
264
561
167
48
465
427
202
529
592
808
589
763
220
318
679
523
449
968
390
269
170
424
660
83
17
446
381
227
71
415
286
573
948
414
999
48
136
760
469
464
387
223
42
833
490
437
773
299
998
174
915
346
333
192
159
815
225
372
905
575
648
727
728
397
213
642
257
689
527
417
882
290
127
763
62
422
460
426
516
246
801
499
243
212
154
337
165
528
941
166
136
621
729
655
224
451
330
720
455
849
362
792
658
886
747
614
657
396
716
412
831
401
551
904
959
161
735
235
359
958
143
340
560
541
639
667
124
358
762
443
797
318
192
878
843
845
321
793
293
405
595
172
849
551
233
21
339
720
557
787
962
708
453
246
40
777
409
467
604
802
171
941
998
761
310
434
551
90
877
473
549
159
909
610
964
166
749
791
811
243
13
214
603
495
576
22
89
942
125
94
350
88
671
938
377
931
908
405
453
753
470
558
3
963
918
491
131
587
800
351
665
752
196
100
430
644
994
795
390
972
529
284
474
951
331
266
183
142
488
588
516
294
494
509
385
485
556
421
420
458
15
170
8
30
934
689
477
841
907
130
566
530
861
71
703
615
936
629
182
978
526
555
995
872
253
421
966
794
899
81
815
413
333
440
971
956
78
421
278
125
425
731
201
658
968
650
795
106
984
616
487
264
381
818
668
968
777
343
210
633
895
704
270
7
629
710
171
101
36
737
728
139
15
390
110
683
641
478
223
806
949
961
645
277
458
253
327
260
889
861
663
949
334
810
8
904
598
778
418
568
562
113
203
623
186
188
859
366
224
634
98
269
779
56
966
216
617
764
520
739
523
914
105
672
73
188
72
310
881
823
669
79
786
360
917
163
438
945
537
311
456
423
346
274
655
718
109
916
834
204
536
86
290
877
939
739
508
124
130
657
449
800
241
322
510
165
544
191
451
920
777
613
572
233
137
139
992
196
913
812
115
543
645
292
300
882
843
380
299
885
522
539
229
71
265
537
734
889
76
227
526
761
22
764
652
643
560
282
701
438
480
158
654
290
592
531
222
395
660
640
346
450
567
896
986
295
400
357
449
604
942
378
282
708
53
807
217
778
551
23
685
600
510
492
246
157
330
283
607
38
547
157
6
491
111
448
455
569
782
903
669
393
367
87
596
38
752
736
81
914
66
652
600
813
882
352
949
983
11
701
455
669
368
197
574
604
329
381
713
809
240
120
721
892
992
127
793
769
126
154
450
338
514
735
860
192
487
238
991
900
229
241
29
706
342
925
1
794
782
279
821
394
751
371
778
84
734
851
91
610
580
172
266
453
428
672
885
101
315
835
936
752
504
526
925
697
937
936
872
199
708
312
691
51
146
275
646
340
902
688
295
160
433
566
809
132
396
509
617
663
780
472
91
764
25
476
391
153
16
37
625
81
587
667
226
992
73
802
800
721
561
886
736
357
689
175
547
329
235
997
263
525
312
841
171
462
637
672
890
618
232
267
30
48
931
236
695
303
199
609
671
511
148
518
463
182
61
563
232
931
417
901
310
872
184
964
208
843
82
985
920
996
675
184
909
543
343
548
363
580
673
635
182
21
331
721
690
606
238
913
247
868
751
560
773
687
595
405
711
789
487
443
81
125
763
388
108
571
816
954
372
821
831
937
533
625
130
195
485
791
409
186
210
466
304
698
703
262
8
740
80
743
104
358
393
603
395
301
727
683
286
63
871
558
156
787
237
60
277
952
710
541
28
522
819
56
579
479
942
968
729
271
265
620
297
692
863
865
340
195
587
204
432
424
396
247
485
8
409
968
831
314
220
1
840
894
951
831
945
822
127
258
738
989
678
985
788
684
302
504
885
472
958
720
730
466
497
909
465
567
299
686
42
156
299
608
150
14
11
949
310
958
943
937
779
796
353
463
135
720
391
851
731
188
529
803
753
674
624
12
266
414
79
296
468
405
357
291
342
481
529
894
49
239
633
674
686
966
360
414
483
458
2
796
138
837
636
997
723
31
249
611
534
576
880
916
335
789
869
921
649
187
14
79
183
199
748
760
970
861
462
849
546
192
763
866
320
374
732
48
313
700
253
740
603
493
76
243
154
830
569
12
177
971
46
702
801
862
153
124
650
900
30
602
847
486
875
548
91
497
112
385
700
957
552
41
948
615
825
351
585
95
892
670
172
523
627
856
741
303
285
599
337
771
201
744
211
34
180
867
761
176
887
854
865
378
977
659
900
237
847
728
551
691
667
793
544
535
782
883
515
458
654
426
569
900
291
257
500
793
479
209
278
425
206
694
145
272
405
378
596
594
469
577
600
14
59
523
632
104
404
980
486
181
598
25
388
166
458
951
604
346
99
396
631
339
733
775
36
368
140
5
196
198
904
356
525
742
762
944
231
388
356
58
295
557
292
4
180
864
607
630
682
528
711
13
488
365
365
74
242
746
538
15
330
433
794
574
222
86
438
36
858
508
818
845
537
458
998
423
753
924
558
516
646
302
394
981
96
836
213
409
980
22
895
429
819
394
987
832
808
287
415
870
275
702
884
245
689
356
573
302
674
378
452
916
909
872
957
386
422
744
819
422
532
787
568
961
620
975
584
120
983
360
625
61
257
726
413
943
286
379
222
393
848
71
416
139
364
62
505
547
554
774
634
807
42
287
360
401
44
215
215
360
646
93
799
468
614
510
127
264
345
625
505
184
353
631
472
667
630
939
255
351
345
576
738
792
573
359
152
251
208
884
582
199
760
296
906
145
464
59
961
274
50
716
590
165
524
683
696
573
542
678
602
819
305
299
817
875
406
615
776
618
748
330
243
55
463
293
849
540
747
608
657
143
668
613
758
342
283
316
636
192
884
690
443
937
750
367
386
799
592
878
150
347
770
561
647
407
435
674
408
945
4
28
619
748
734
673
158
997
727
796
965
38
385
993
736
730
196
506
259
787
756
866
657
412
66
593
422
345
511
291
426
197
388
471
6
529
475
957
815
704
956
536
399
971
952
833
323
583
6
25
279
24
145
125
774
550
565
39
908
357
547
502
259
627
944
283
84
596
484
793
879
587
157
309
851
620
167
557
996
824
284
341
286
384
932
216
954
152
48
950
949
380
532
672
465
263
123
149
825
87
652
584
134
838
939
714
851
51
19
734
813
543
20
762
344
420
768
149
750
400
99
901
922
87
953
918
745
277
553
503
752
773
341
867
754
476
917
893
199
683
896
527
668
669
489
510
211
585
584
65
205
654
317
342
29
437
410
105
137
686
65
179
42
914
813
622
302
361
538
496
880
462
825
317
104
296
891
4
67
722
640
174
470
89
774
177
829
464
479
98
461
303
955
310
871
366
903
835
992
455
175
896
225
273
961
575
387
256
251
384
487
791
830
938
696
586
720
615
28
326
828
253
4
939
513
490
15
938
950
302
189
340
448
657
322
617
325
979
818
949
565
293
660
851
233
506
152
864
548
255
511
594
580
166
472
849
786
168
698
997
973
695
166
973
818
248
677
523
795
793
299
410
189
904
868
292
913
398
614
873
991
426
630
798
926
672
173
433
606
309
690
328
96
867
108
705
413
10
123
721
344
486
159
644
494
198
208
317
972
438
990
430
592
784
744
223
993
92
468
190
852
292
657
235
225
412
367
540
111
371
986
60
530
603
212
194
753
493
563
674
853
945
204
106
402
147
996
949
955
727
456
914
980
67
758
902
977
476
968
651
879
310
491
176
234
889
78
968
291
219
830
633
890
158
321
363
944
586
358
149
399
608
921
147
784
556
494
997
852
817
362
137
349
79
426
413
650
659
752
315
880
953
391
223
110
929
928
945
420
771
913
628
936
491
522
878
423
308
808
528
668
113
433
43
654
162
52
990
526
423
420
351
385
692
835
711
286
652
769
511
167
556
391
622
71
106
238
492
692
398
433
955
227
522
750
618
514
493
267
419
651
755
526
532
657
381
937
335
235
451
617
527
367
822
958
841
313
652
57
973
536
589
488
537
252
492
76
828
563
924
12
177
594
417
88
481
681
696
877
280
376
614
410
402
4
570
248
758
539
548
921
351
826
725
331
946
557
819
118
120
936
938
936
625
696
732
269
61
970
67
714
917
527
274
628
874
73
258
652
160
611
424
918
405
380
393
656
121
476
961
537
435
101
617
306
172
305
201
192
705
211
961
112
281
958
350
924
651
35
394
853
937
239
374
722
611
230
821
840
374
541
591
198
469
942
855
169
700
270
382
9
983
161
407
311
799
692
725
4
296
530
378
613
128
94
449
290
346
143
32
542
747
405
412
678
186
94
829
760
228
676
8
213
436
794
774
353
280
59
685
754
365
332
588
808
215
173
404
799
330
395
251
554
619
23
214
21
582
520
708
167
837
838
358
215
647
690
802
554
137
495
602
626
797
555
727
716
665
416
701
843
338
789
553
898
560
78
186
740
697
353
624
241
831
534
884
153
563
691
881
229
874
597
869
261
549
117
411
549
728
566
748
872
139
922
771
175
441
654
469
76
879
969
885
756
163
500
76
962
78
785
573
663
818
420
84
372
486
440
7
247
475
285
401
887
703
715
645
161
788
168
976
498
292
329
442
821
100
167
592
692
850
261
398
338
95
36
484
876
515
417
730
504
98
518
709
379
649
173
230
660
388
542
443
465
685
557
608
540
142
649
624
78
384
100
859
404
869
326
632
271
978
612
977
61
451
110
914
527
945
411
546
602
149
634
741
421
400
773
15
927
194
985
522
350
350
620
718
406
816
41
349
266
285
723
924
243
842
666
693
634
859
926
481
386
202
912
436
59
638
178
839
60
982
625
667
308
163
373
528
251
862
99
900
662
804
287
363
739
82
667
659
823
158
114
947
488
260
381
601
821
969
388
262
499
722
173
592
635
805
292
411
440
160
137
427
481
998
640
794
642
774
835
110
980
561
39
281
300
225
762
871
655
96
11
187
946
41
373
354
466
905
82
84
536
322
315
636
347
813
126
764
738
859
747
18
945
435
461
900
237
40
914
755
18
868
487
205
150
146
350
158
205
57
870
138
889
903
363
731
114
316
551
462
36
413
697
286
951
748
99
203
78
803
517
196
132
542
169
811
77
238
98
225
592
403
98
568
611
130
889
595
749
583
895
556
558
684
816
237
325
268
153
725
571
117
993
379
490
295
652
869
316
187
221
918
22
451
669
550
796
884
926
230
458
835
267
285
373
392
428
366
421
16
78
541
279
698
687
793
607
989
362
329
738
450
921
113
111
157
345
469
1000
931
737
438
69
826
116
801
886
270
672
335
820
961
602
915
678
234
292
536
31
182
385
192
415
235
238
821
511
244
386
200
956
407
863
756
661
483
687
757
373
860
361
221
766
975
996
212
505
488
525
881
591
391
551
725
772
926
538
58
983
781
454
631
557
542
430
643
442
791
728
152
764
554
99
11
863
31
595
41
361
657
55
81
908
603
767
928
5
749
254
970
710
7
752
446
72
649
694
911
882
932
452
418
684
891
645
353
17
653
570
668
554
976
679
428
145
42
602
251
738
691
874
204
866
407
422
153
623
353
849
412
91
673
740
761
736
99
526
550
623
617
946
661
202
579
750
566
16
178
116
557
938
670
180
531
433
37
191
359
910
70
77
970
449
2
603
755
38
889
902
805
16
902
875
800
578
598
852
50
38
990
947
339
71
952
738
714
268
96
264
303
182
740
845
571
486
19
888
180
9
501
680
725
157
887
154
225
712
528
728
152
37
480
640
187
518
822
637
637
423
757
474
628
460
812
466
791
13
71
237
114
406
994
880
62
578
805
998
842
237
826
456
923
902
436
235
503
233
502
481
670
707
238
673
418
14
468
891
485
499
137
293
274
608
796
245
711
571
441
58
979
490
773
876
506
592
444
96
464
655
321
622
297
508
129
379
467
84
111
768
719
705
473
161
605
156
491
111
960
637
83
694
282
858
576
268
688
388
149
994
245
871
131
654
982
861
965
673
815
856
94
740
956
560
495
114
122
534
868
516
984
172
720
494
876
380
729
277
716
401
769
442
476
23
980
152
298
760
54
344
520
682
701
998
492
294
915
551
4
209
211
568
594
413
498
44
763
591
614
90
353
323
860
280
965
974
29
661
293
731
551
280
693
556
380
82
136
814
134
208
928
916
850
57
233
629
412
951
479
625
363
864
191
436
327
500
660
216
719
932
116
647
783
123
770
839
222
935
149
340
875
609
666
194
944
320
222
561
263
110
993
562
961
400
206
864
682
339
865
31
192
416
887
794
823
154
43
229
694
200
428
277
72
782
922
172
536
356
260
122
856
227
866
26
604
75
572
80
567
606
708
903
962
1000
820
191
318
445
441
988
622
778
936
353
9
214
425
605
838
190
169
330
448
591
650
34
303
13
717
659
506
264
855
181
831
1000
594
158
563
255
552
414
418
624
395
992
708
55
269
161
783
484
893
507
451
88
542
95
744
514
635
283
925
269
475
986
56
395
977
129
826
669
909
564
567
804
211
949
564
583
505
958
812
408
740
718
382
480
288
559
392
733
445
998
411
645
458
376
773
320
696
722
920
502
510
229
355
792
667
186
234
907
978
345
922
746
887
465
61
920
338
214
848
602
199
717
226
826
880
756
665
803
560
60
36
439
604
157
849
24
351
4
776
928
423
946
957
270
119
630
65
722
244
137
457
11
943
974
71
232
720
536
876
757
834
330
811
430
715
529
134
700
845
424
34
543
802
939
157
344
833
664
422
385
321
790
160
235
29
931
94
103
821
47
185
217
856
608
654
340
921
676
787
836
657
813
280
108
897
596
946
794
279
33
570
864
543
371
606
605
669
633
159
586
113
701
425
832
913
925
327
841
383
60
616
564
407
768
96
142
150
70
979
25
63
910
547
84
702
412
505
442
748
512
354
63
72
397
147
598
365
579
763
558
121
496
635
686
262
244
517
287
752
426
436
377
889
114
451
719
806
625
236
229
885
139
756
738
442
190
546
855
12
710
146
466
48
620
302
474
618
933
416
518
988
933
566
746
559
306
133
206
738
5
702
39
739
235
443
468
195
198
622
522
718
111
232
533
240
621
992
722
38
896
140
594
825
598
480
446
218
431
151
18
154
175
437
214
571
921
756
847
752
761
608
586
284
301
930
617
474
208
738
48
433
441
403
775
753
949
195
324
854
409
967
186
642
989
965
287
52
226
812
536
445
856
630
844
571
836
121
614
997
838
203
447
499
255
417
772
874
78
929
122
42
78
402
67
117
374
401
164
324
837
270
851
235
759
631
889
868
884
738
847
559
187
921
92
402
780
287
963
249
919
643
95
942
385
332
364
486
435
312
547
309
111
336
592
676
950
542
352
519
34
89
719
694
873
770
383
711
848
642
842
481
791
838
871
549
833
640
402
539
800
822
612
270
324
36
128
133
280
694
388
792
371
432
603
242
435
707
254
581
557
527
734
561
180
597
570
186
165
415
639
110
220
969
936
616
178
718
729
246
381
493
420
1
790
799
990
132
548
752
720
193
403
538
751
959
777
876
163
250
317
404
448
481
417
310
674
967
558
823
150
647
324
336
123
880
559
77
884
407
505
215
681
433
658
213
999
961
763
56
90
217
602
710
126
28
182
779
985
460
532
894
464
926
534
781
668
203
147
325
447
507
936
179
975
830
2
665
37
262
347
729
124
880
155
745
173
133
728
792
709
312
611
838
141
844
949
967
209
659
282
355
896
792
781
233
675
739
402
474
585
808
549
744
483
850
626
428
809
331
281
606
293
624
250
442
390
803
432
279
620
969
270
555
647
324
517
453
648
776
240
823
479
885
240
505
198
305
123
635
746
718
936
921
971
448
604
133
731
559
432
272
488
265
567
966
711
893
631
629
350
501
697
886
887
461
423
509
722
983
402
901
204
599
750
742
186
88
535
989
837
189
894
838
353
704
593
603
339
298
339
754
881
356
378
464
756
776
777
146
800
432
313
368
190
396
95
480
270
669
864
7
612
307
422
621
191
348
797
37
919
872
566
750
287
848
197
876
530
182
434
735
579
505
487
988
10
800
254
313
370
938
879
613
526
527
688
692
160
280
980
212
121
264
166
450
109
982
502
94
101
238
21
827
973
109
283
969
44
172
270
790
625
328
84
420
198
184
97
467
586
980
859
527
289
463
396
833
190
946
459
131
22
44
947
743
279
203
981
481
766
202
46
687
590
268
212
251
226
294
691
870
204
945
883
158
93
81
641
501
720
48
678
679
960
838
932
370
42
40
218
601
13
805
691
115
919
741
474
392
277
777
320
761
644
561
305
634
421
878
386
412
544
899
97
999
410
833
802
203
164
669
689
515
508
279
122
877
285
93
65
110
410
913
43
597
174
226
495
662
521
540
441
863
710
847
109
54
647
311
520
642
274
681
83
969
628
708
910
71
560
95
920
413
670
68
797
355
687
722
509
201
404
711
413
721
271
661
942
901
938
961
472
535
340
204
277
969
426
614
379
950
243
250
718
65
911
652
303
700
941
837
906
790
483
268
431
901
339
468
290
326
999
470
5
969
533
154
780
729
900
860
957
27
133
354
139
847
886
342
230
405
48
237
817
121
473
849
119
101
385
936
193
734
703
366
214
318
341
727
424
875
518
805
772
432
260
306
366
71
577
538
606
18
215
588
261
864
534
635
821
785
789
709
165
285
36
108
973
535
935
151
306
891
980
708
499
517
59
164
839
342
779
91
477
783
729
926
712
744
666
375
72
409
647
91
578
280
309
423
229
696
780
679
981
824
249
378
465
715
796
462
266
569
931
257
821
807
201
283
918
866
356
663
323
907
818
980
285
803
612
905
530
795
504
839
905
230
811
79
991
643
248
761
870
231
203
923
705
480
52
558
964
286
475
473
918
421
227
55
508
607
525
846
818
785
7
929
127
374
205
684
994
462
628
465
900
887
824
64
703
144
255
637
598
844
420
929
309
281
418
208
961
249
75
337
461
876
830
767
230
685
786
79
836
481
760
876
382
943
669
465
548
11
321
766
789
231
511
338
540
239
353
231
234
481
943
598
538
76
767
683
526
452
751
812
419
14
509
508
128
656
91
686
53
335
541
173
549
321
637
470
963
949
468
748
422
887
923
580
382
987
726
772
495
774
405
3
540
489
456
642
985
406
2
274
264
825
473
943
1
740
151
80
214
699
972
401
3
770
631
795
357
846
852
388
481
763
686
492
483
798
824
140
345
205
210
233
874
321
685
134
696
697
16
694
440
391
397
285
971
288
459
416
901
823
881
888
633
992
930
243
870
912
658
499
898
457
997
737
887
708
740
156
177
55
201
630
765
775
404
630
212
848
789
613
811
560
762
637
94
196
899
2
763
730
247
169
636
975
956
99
525
86
436
387
802
658
323
283
22
928
832
740
140
735
447
142
774
971
517
247
451
223
42
192
8
190
804
103
112
243
73
983
390
190
298
49
805
907
548
648
720
986
1
175
570
6
410
193
161
280
358
80
418
232
26
75
834
622
393
573
937
924
59
872
877
60
315
329
619
582
733
100
274
128
261
182
852
625
769
473
56
319
49
990
788
144
497
149
707
360
104
228
543
631
932
784
835
954
930
749
441
923
821
426
471
804
798
388
248
854
931
551
548
69
522
325
616
345
107
804
420
592
481
403
184
931
856
238
475
526
279
794
50
946
489
96
200
218
684
726
567
883
83
448
264
458
738
171
669
632
782
227
450
469
197
677
190
613
216
468
534
237
681
775
872
30
42
798
424
58
176
626
39
729
893
478
152
400
806
848
115
416
242
550
550
463
984
688
474
202
955
890
685
29
373
959
301
730
558
214
401
480
273
445
448
362
475
340
527
93
345
662
465
169
772
260
603
973
806
185
287
715
158
819
201
241
508
939
265
862
284
46
161
339
514
155
512
101
593
454
344
560
96
897
767
130
243
847
717
178
290
344
221
680
882
431
860
780
386
252
40
824
284
297
228
668
29
275
512
250
120
559
747
446
792
64
45
249
384
709
575
149
396
325
466
397
244
984
112
538
946
257
325
169
330
800
593
412
844
57
172
981
746
547
845
57
266
399
998
391
299
307
33
199
354
80
311
448
747
281
487
62
508
254
551
435
51
995
940
407
431
920
788
479
935
560
755
662
818
607
934
784
239
565
970
497
829
417
906
465
867
385
258
473
757
855
454
217
326
955
118
615
511
135
610
324
135
324
882
27
830
865
970
723
623
528
385
917
358
303
260
137
889
586
351
636
987
609
891
494
933
669
862
601
103
760
471
130
235
747
463
217
629
62
470
513
310
260
746
149
19
432
497
476
984
617
505
576
588
872
905
202
439
566
774
270
829
822
666
436
273
754
344
638
604
301
737
677
115
2
590
56
365
25
365
330
545
120
686
149
786
930
46
61
351
299
538
843
462
756
82
839
393
382
24
326
564
643
958
401
585
570
371
276
592
899
988
142
770
360
746
963
629
370
938
650
510
765
400
90
733
84
580
384
55
118
936
498
359
107
396
238
14
16
556
83
976
769
870
970
494
195
335
541
234
703
91
730
734
390
888
814
377
355
623
202
492
490
988
343
742
915
831
55
719
523
978
491
539
812
150
740
275
285
62
745
268
236
977
825
716
656
789
579
439
328
153
396
417
911
342
64
480
989
251
234
557
564
432
610
986
475
111
766
723
565
904
446
692
194
340
39
169
878
368
696
825
402
729
183
983
765
457
174
724
701
800
122
694
304
524
256
873
535
929
512
84
956
872
436
747
93
767
138
221
232
846
447
101
307
898
274
990
752
372
41
618
864
963
735
632
250
769
802
41
407
682
601
76
333
917
604
198
359
505
871
62
36
120
574
548
37
832
520
342
476
243
679
166
986
15
701
472
161
942
290
287
706
602
80
969
741
95
353
818
203
528
549
837
274
742
8
463
31
201
795
757
288
126
795
348
763
708
466
440
194
673
784
293
57
584
933
917
858
976
266
131
743
854
866
792
380
135
847
710
610
309
132
725
375
20
80
480
827
218
744
653
313
300
977
806
151
936
845
545
715
305
28
400
374
114
978
674
260
72
592
521
664
473
118
712
101
146
756
830
742
335
212
145
939
964
46
58
57
386
209
779
659
914
596
866
392
366
823
368
576
401
627
549
582
647
523
624
600
487
367
483
254
903
467
131
856
958
765
449
781
339
395
929
569
884
614
237
867
167
705
801
271
13
949
172
441
310
194
511
614
573
825
456
785
519
220
533
360
329
851
469
77
378
262
26
323
954
85
427
760
886
109
84
347
69
152
39
434
590
189
527
586
518
704
60
182
469
753
748
667
723
580
880
504
23
915
397
514
183
288
549
301
274
783
904
896
474
656
878
564
647
167
134
998
305
781
516
712
923
612
669
564
483
638
137
738
731
726
506
413
862
949
147
609
281
61
176
376
600
189
543
571
301
25
567
965
322
835
817
312
377
561
955
313
3
230
68
130
155
588
34
188
674
659
694
561
124
439
935
140
260
520
317
119
915
786
535
76
150
686
845
83
346
784
553
803
321
432
802
516
648
436
210
369
106
541
322
920
601
399
481
216
930
439
467
230
520
733
185
479
597
491
736
40
306
331
465
955
969
806
942
276
16
4
398
562
110
174
821
703
663
484
775
332
224
990
41
970
198
804
304
232
986
291
489
107
886
819
773
375
75
248
994
646
525
840
926
419
12
755
869
801
229
626
87
196
618
950
922
384
713
224
783
882
689
797
835
365
311
387
907
256
706
98
45
274
156
566
172
849
676
525
527
859
252
717
888
25
422
560
131
678
388
393
321
316
914
444
352
548
94
889
167
534
472
497
686
32
106
397
896
485
916
432
978
388
40
437
996
323
7
512
377
653
236
27
382
846
744
676
823
790
979
349
489
287
371
993
194
75
550
897
821
403
153
55
514
146
821
330
975
909
274
174
857
396
341
542
410
551
418
495
857
627
131
661
473
393
889
395
953
151
638
993
470
86
329
768
776
754
559
127
776
193
380
74
314
205
485
694
277
869
870
255
752
235
581
536
648
431
349
883
135
159
756
243
247
636
67
163
244
571
26
320
635
711
714
633
330
783
33
468
999
438
516
703
604
935
920
707
993
834
510
365
624
961
28
340
769
246
84
717
975
816
115
991
219
896
116
145
886
664
57
210
691
183
288
275
679
936
235
373
708
293
411
76
196
438
70
883
449
912
849
712
595
937
408
887
17
109
353
6
159
906
720
21
775
663
921
640
22
334
309
907
239
410
479
446
943
803
998
384
331
402
497
402
534
239
996
740
994
920
843
200
574
18
904
393
437
655
490
494
321
357
57
797
539
602
868
196
950
161
680
534
173
466
989
435
519
750
544
847
478
631
630
28
109
149
89
92
339
2
194
602
27
865
223
855
598
255
64
701
223
314
244
714
778
308
523
517
312
345
609
896
311
59
601
89
842
523
488
304
570
698
396
94
709
94
319
661
209
123
728
593
864
826
828
757
577
298
196
338
698
122
208
36
240
564
970
512
756
118
419
16
862
230
904
9
678
655
821
268
987
987
803
618
501
327
591
964
465
941
913
734
726
18
634
208
567
322
991
439
792
610
941
655
43
174
511
87
845
781
606
146
643
556
852
746
961
79
961
363
879
89
550
112
198
684
524
716
43
861
941
754
146
547
731
978
745
26
780
816
836
823
652
390
502
619
668
522
197
781
148
224
137
410
366
113
408
608
179
54
11
834
337
66
824
791
217
210
365
303
79
723
360
997
972
162
278
449
112
676
470
628
890
820
17
102
662
535
129
486
126
980
806
48
411
939
444
202
953
426
271
877
870
919
816
383
813
399
86
458
219
977
769
625
465
441
589
859
691
501
856
842
939
844
396
745
836
376
287
568
252
196
259
568
240
893
167
171
95
756
720
99
544
342
491
142
944
657
304
89
825
879
295
905
308
160
280
126
699
547
599
794
67
468
263
987
695
558
45
156
103
813
173
19
759
193
368
727
691
830
320
376
960
947
99
725
352
434
634
135
723
774
142
334
118
707
312
622
188
540
122
489
433
519
402
463
506
58
643
161
127
875
88
198
178
318
859
552
188
235
705
482
740
760
996
878
273
285
739
182
409
726
719
672
180
897
354
926
492
434
496
776
728
276
187
895
662
101
345
452
751
525
456
925
418
70
611
284
179
112
638
190
323
58
675
803
384
990
235
58
838
891
724
3
279
348
403
881
854
330
992
180
859
232
466
794
233
866
110
763
140
533
572
819
951
575
458
78
718
67
28
819
678
425
662
193
386
746
65
110
866
625
642
306
528
74
67
774
690
884
839
317
249
458
532
983
412
707
530
532
437
66
269
876
9
71
367
668
224
232
627
795
142
111
532
585
545
637
750
933
801
668
168
419
765
753
142
685
204
820
964
42
563
299
60
263
789
754
38
35
544
687
501
372
371
594
533
576
281
697
800
997
807
53
547
948
747
878
122
598
744
12
301
571
333
403
348
281
284
398
696
744
931
372
140
715
642
972
640
518
761
799
202
878
149
891
801
378
928
774
993
913
151
150
674
665
888
536
437
652
667
281
113
900
303
441
372
602
864
910
712
451
979
78
776
458
696
39
688
208
853
1
34
427
285
173
165
199
217
829
766
922
871
645
984
317
670
706
980
434
419
752
458
587
467
338
580
613
216
584
699
648
249
123
492
882
30
629
422
379
350
89
924
115
680
546
355
835
141
646
539
195
78
700
680
934
112
374
555
490
99
331
108
554
665
350
39
560
833
472
522
982
798
744
923
636
84
967
304
873
170
672
496
673
162
222
761
166
224
548
415
39
333
530
274
613
343
424
482
122
490
105
87
859
248
48
719
423
875
171
862
242
72
641
504
924
948
728
403
746
850
619
798
789
727
857
195
776
356
757
717
697
179
675
648
680
503
529
981
354
495
308
192
205
770
616
7
987
337
489
617
300
349
808
661
878
383
650
308
942
979
815
940
226
750
616
258
929
676
689
113
895
138
270
18
785
803
878
69
851
763
800
965
234
199
135
921
329
420
384
541
898
328
762
106
50
258
442
356
155
633
953
522
10
94
802
298
323
579
194
460
670
349
407
43
611
75
984
357
581
950
410
615
496
233
344
634
753
752
795
884
466
683
874
142
306
350
854
154
293
885
324
988
229
328
168
227
271
157
935
750
265
298
930
595
92
371
26
365
250
308
733
647
276
521
577
202
445
440
187
46
355
633
785
81
661
693
979
659
205
704
836
281
232
481
231
694
230
645
382
775
131
319
279
932
306
424
465
247
790
540
235
200
670
875
867
624
412
116
938
484
172
870
129
177
836
924
166
322
576
815
730
426
252
27
212
369
826
688
163
409
313
822
205
286
457
49
891
37
454
109
767
345
578
766
426
605
456
440
886
389
105
377
25
680
571
312
112
45
155
323
725
926
748
46
437
343
801
490
724
611
756
429
477
118
592
788
332
819
278
452
823
857
529
693
988
652
246
727
655
872
406
996
78
917
990
415
9
956
716
182
544
88
997
746
293
901
523
172
524
554
323
466
917
540
990
370
503
422
967
784
154
197
487
223
726
395
754
667
597
683
454
763
848
500
532
549
818
255
437
823
71
673
725
792
102
161
988
890
249
492
557
491
356
667
344
809
700
546
475
432
574
732
61
781
717
245
606
310
452
695
33
372
13
61
259
525
34
645
570
494
587
491
803
137
485
347
460
546
756
241
463
821
375
888
192
198
331
424
826
895
66
425
766
503
186
772
118
760
74
679
762
304
704
138
555
330
534
78
601
148
827
814
303
284
98
689
165
146
726
425
867
225
913
330
213
512
296
422
946
72
522
510
253
712
992
446
62
281
813
99
814
448
723
78
514
702
361
854
276
930
813
752
448
184
804
213
703
130
244
839
109
237
94
997
334
1
693
182
563
340
738
903
673
843
81
597
446
738
410
956
353
284
636
111
542
787
525
289
181
588
702
953
232
204
653
911
75
232
783
574
130
785
878
357
780
977
564
206
439
435
475
356
570
877
887
742
841
582
503
919
337
935
938
948
969
322
197
493
767
370
112
271
757
855
251
65
506
695
314
782
221
66
377
371
506
65
669
3
476
321
729
602
975
605
891
649
38
814
84
248
604
664
787
547
703
38
863
980
990
225
649
264
566
232
381
707
451
900
507
202
981
863
923
212
635
234
498
176
494
495
515
1
615
280
817
763
78
606
504
272
391
629
16
926
196
209
309
136
971
379
612
679
507
340
958
492
464
731
265
834
262
753
268
199
852
177
993
75
692
402
793
440
378
489
189
891
931
550
889
418
713
956
392
141
289
564
522
788
341
588
95
262
911
766
676
461
823
239
32
387
137
877
472
674
881
852
720
909
98
929
367
479
467
290
218
246
364
695
46
41
247
455
366
825
686
981
861
380
176
654
961
564
133
373
948
475
87
424
639
375
178
246
361
844
474
256
433
432
534
143
863
25
888
952
250
262
784
835
214
577
637
545
756
891
118
661
89
515
689
7
408
596
716
968
968
305
986
195
618
3
582
736
634
838
566
741
292
581
882
728
126
1000
188
849
228
776
88
729
265
751
380
200
111
316
469
734
119
853
79
422
100
461
739
131
16
640
301
839
236
205
919
247
972
476
509
447
165
709
689
815
648
792
601
332
918
485
811
199
190
853
706
979
721
90
402
469
577
642
207
188
95
365
120
644
340
515
657
544
714
476
556
695
748
512
539
661
773
279
387
139
851
471
12
641
847
788
92
294
970
345
106
471
486
750
275
551
512
360
5
298
24
608
905
219
212
913
374
813
351
371
18
790
181
353
892
171
628
151
680
708
349
31
409
181
193
397
270
962
199
288
420
703
129
98
375
95
869
242
777
477
257
451
848
456
16
546
799
824
519
803
845
786
37
502
232
937
2
842
864
452
518
164
707
713
89
350
116
928
18
350
653
344
475
998
756
353
563
683
806
102
32
984
794
235
449
66
770
52
771
511
715
650
227
241
285
630
377
395
131
506
979
315
143
302
69
298
2
707
252
401
914
759
758
378
226
306
257
782
921
350
757
369
662
968
204
214
126
725
515
345
871
333
882
296
867
879
133
716
133
104
841
25
611
56
625
202
548
954
809
942
154
233
191
811
250
569
180
517
938
126
965
99
66
419
712
657
425
933
991
218
139
91
779
490
685
269
411
531
342
252
803
819
634
2
104
815
512
591
720
881
601
941
263
308
827
314
606
323
141
594
649
138
852
20
806
520
278
436
508
888
79
49
198
646
594
416
400
329
994
626
454
130
850
643
409
575
978
395
393
399
62
459
491
201
600
150
811
55
202
369
934
74
87
882
392
866
955
521
183
921
33
438
559
237
210
698
505
918
654
399
388
35
202
35
233
795
115
993
941
926
492
908
594
250
764
138
631
613
202
705
331
677
291
938
489
625
182
443
639
476
134
215
441
535
44
427
124
486
680
915
956
782
222
423
796
274
48
465
688
455
500
27
323
339
525
408
960
715
675
219
28
470
941
915
223
728
282
285
390
794
535
985
833
271
559
569
13
278
127
432
772
382
73
774
311
708
622
977
177
733
693
750
403
405
173
44
778
577
823
991
943
211
532
71
626
458
76
295
894
508
410
441
708
48
820
288
451
286
874
341
319
758
268
771
646
534
102
151
312
45
29
108
324
472
37
191
572
513
310
95
525
401
742
889
344
254
193
24
471
172
507
737
267
28
645
911
679
563
10
583
236
210
217
69
906
76
80
108
443
627
573
513
947
921
865
577
230
695
311
876
502
205
460
171
591
485
717
819
601
610
283
511
466
629
407
117
343
56
765
185
161
196
11
900
916
141
142
372
531
944
342
739
148
366
413
885
774
583
709
549
77
412
749
225
960
952
317
503
275
997
917
478
644
245
912
418
914
78
515
120
198
693
117
326
816
418
64
85
700
338
113
185
973
785
270
668
516
785
610
922
270
313
991
87
922
103
267
293
414
772
726
804
387
243
6
241
290
800
659
915
381
626
872
723
246
330
582
216
815
807
392
212
30
760
219
754
486
336
580
325
391
625
779
957
128
240
38
288
555
781
771
678
941
743
816
200
82
390
389
724
716
131
961
290
843
213
19
711
902
916
927
635
88
976
661
323
243
670
275
47
870
845
325
310
848
197
343
77
282
263
700
804
797
922
799
349
274
681
646
781
658
652
265
677
25
942
302
769
516
91
435
685
99
344
879
108
391
766
360
865
899
654
421
365
152
259
823
298
127
581
93
724
279
868
992
490
261
496
794
443
110
129
759
27
283
391
153
696
418
801
459
6
130
387
197
399
432
246
883
457
635
259
248
838
679
326
758
204
912
801
857
189
241
213
139
871
462
6
805
255
312
770
361
3
450
361
501
16
144
385
504
496
916
756
298
805
769
405
522
790
909
795
553
204
90
566
485
557
757
509
460
994
224
69
592
803
998
760
976
732
188
182
889
628
674
834
378
792
311
528
863
74
12
22
255
955
977
445
353
784
690
170
990
875
557
68
424
420
219
508
27
1
657
14
161
54
144
244
476
797
30
836
541
983
72
714
858
334
777
628
811
677
761
100
39
584
693
413
55
822
752
980
658
6
877
244
865
654
296
244
588
252
963
121
301
55
547
127
249
72
591
153
563
105
272
399
806
757
978
581
46
55
562
959
568
693
704
586
710
927
285
375
121
866
72
995
942
193
260
124
22
401
665
311
325
248
405
553
68
454
953
679
6
630
334
843
485
56
65
716
570
188
150
478
545
729
96
322
616
668
415
2
441
962
558
882
441
414
545
75
463
880
833
496
524
144
107
103
766
675
754
141
729
5
764
964
296
655
660
893
395
377
857
584
662
971
559
626
758
107
854
404
15
361
241
807
358
166
161
995
229
502
475
307
379
898
37
337
930
788
630
352
80
344
589
545
190
624
359
19
749
345
99
51
914
567
189
921
864
368
159
510
248
897
137
970
367
273
362
961
529
444
721
375
256
478
530
999
602
764
972
248
885
224
727
992
544
985
308
485
684
897
532
591
95
911
396
806
191
623
318
85
349
211
352
95
605
579
530
330
512
789
896
445
254
741
187
313
761
644
331
538
680
15
114
585
527
827
452
275
248
964
620
109
728
300
752
779
465
587
632
275
783
812
540
177
436
857
509
110
423
87
823
807
121
971
37
953
630
944
88
739
332
531
319
109
237
144
320
755
642
93
586
258
995
75
889
190
624
814
127
630
164
596
166
265
110
135
858
227
909
613
971
822
378
719
251
603
82
242
225
589
462
92
610
973
164
611
424
392
998
709
954
668
427
663
785
929
279
378
960
221
628
523
188
26
464
274
738
576
763
262
269
512
92
985
405
216
700
149
290
96
341
300
709
214
742
719
634
910
714
696
176
484
403
237
46
597
52
739
539
744
969
388
990
93
87
839
415
968
632
281
716
507
922
85
491
346
250
102
923
721
146
101
689
14
39
979
115
636
491
144
49
83
740
919
20
174
210
888
339
731
66
873
684
464
605
612
605
377
485
283
106
824
383
739
158
210
624
669
518
466
760
947
750
594
862
117
689
39
486
289
899
107
908
723
848
427
232
48
634
250
403
340
106
431
995
279
118
85
869
211
480
244
465
230
911
323
528
308
884
842
513
126
847
631
821
473
700
717
238
1000
769
184
658
682
800
561
248
536
606
721
699
27
119
827
91
138
538
635
235
226
154
289
22
669
232
859
451
770
994
6
529
575
382
568
129
21
748
336
289
356
57
977
93
844
490
887
492
574
574
732
942
616
68
558
685
871
907
695
885
682
411
55
596
706
850
111
705
596
178
535
582
744
437
448
175
731
880
272
643
139
349
424
470
81
819
481
177
133
298
977
369
350
480
703
897
712
632
229
303
648
215
397
589
243
635
676
557
383
352
622
636
326
282
150
158
180
83
966
483
299
415
312
276
907
746
109
470
121
593
702
158
141
360
672
709
566
95
601
925
659
538
235
927
963
829
248
763
778
124
678
460
919
112
153
318
636
190
237
811
732
580
557
341
741
229
921
458
471
710
275
886
369
683
178
831
904
685
476
618
643
150
964
645
746
601
139
17
380
895
599
994
938
247
223
543
32
526
70
908
900
953
817
53
306
941
655
273
970
231
783
30
296
920
29
313
499
216
673
416
206
969
243
42
291
131
925
104
995
279
211
368
348
271
623
390
537
915
617
782
145
238
327
937
110
602
366
793
863
424
756
45
314
712
991
552
315
974
323
286
731
321
654
322
502
719
821
801
936
455
630
738
16
817
749
812
658
878
426
18
743
90
72
142
199
33
930
563
582
302
416
807
434
21
228
609
115
848
983
971
972
701
987
872
465
614
690
811
308
299
553
343
774
988
320
112
62
124
151
682
23
249
683
618
614
265
832
863
139
844
80
456
743
373
73
9
615
269
565
183
80
893
155
600
71
562
795
248
470
373
736
455
496
632
478
926
570
690
240
192
104
915
691
26
264
320
979
71
15
107
579
920
736
24
133
409
234
943
224
695
271
539
2
987
607
274
679
482
116
159
151
117
746
929
462
254
2
313
367
315
93
95
5
658
135
493
558
738
607
207
847
664
748
163
985
816
774
583
578
100
554
502
488
754
892
300
811
358
664
86
585
840
836
38
696
836
826
898
596
711
779
891
753
901
39
247
182
35
544
375
33
441
895
488
954
252
582
128
889
290
231
634
27
326
744
31
859
94
903
240
685
668
341
756
456
401
790
164
541
663
164
951
859
39
338
63
832
471
457
586
787
79
244
752
752
37
15
161
79
930
98
781
966
477
889
796
739
374
71
832
699
269
395
420
475
581
987
828
36
923
385
558
995
420
342
836
346
65
989
453
583
601
132
144
954
91
281
505
724
461
538
132
470
842
579
273
798
433
829
774
415
955
339
524
107
516
47
918
39
826
842
73
766
278
314
679
466
356
141
386
218
199
837
574
586
914
961
212
392
420
957
257
302
181
531
702
782
170
800
968
63
811
527
777
958
446
389
62
803
76
612
718
285
740
276
222
687
932
251
225
860
855
44
237
316
169
789
433
952
121
249
434
273
579
967
614
448
564
638
153
167
318
365
563
87
813
725
857
558
881
445
908
491
814
64
754
417
374
188
819
277
641
781
36
9
7
497
871
749
960
223
107
350
972
849
34
961
940
787
400
622
153
890
40
156
668
269
662
205
326
930
611
857
372
312
811
208
786
555
279
124
992
790
722
648
563
801
805
758
904
200
576
672
673
602
414
453
860
409
611
472
59
473
345
187
417
322
406
771
166
629
458
355
444
314
55
47
308
997
875
420
466
506
840
869
268
836
906
100
932
211
274
3
801
913
736
366
683
141
623
176
958
443
621
761
187
203
271
647
428
257
578
817
326
958
541
976
293
899
801
585
806
97
836
630
904
610
305
555
469
485
213
343
777
405
522
471
75
637
753
339
705
703
849
828
342
681
341
847
497
221
372
60
310
160
717
534
32
72
277
686
310
242
916
747
538
295
659
944
104
178
456
727
292
261
735
677
997
85
885
171
151
670
703
484
958
389
560
792
595
82
714
418
63
508
764
785
209
211
718
741
812
610
518
315
776
417
159
512
111
524
722
454
416
120
762
22
975
140
461
185
432
80
901
346
254
874
614
385
801
760
281
541
935
42
112
923
483
222
930
240
811
210
470
265
968
271
730
687
580
861
447
245
747
792
988
461
664
962
949
878
622
498
772
416
305
257
554
370
39
545
8
609
743
372
239
722
867
711
572
240
513
68
210
560
291
107
874
854
172
210
922
104
766
627
657
349
11
305
658
401
182
582
17
545
542
666
294
231
681
238
868
331
809
562
91
323
801
214
346
677
845
910
644
782
869
934
894
8
797
359
347
859
819
605
6
727
542
839
982
476
860
427
882
896
833
910
307
137
682
974
469
349
279
491
736
122
99
983
636
761
715
811
503
116
334
974
462
430
748
640
895
659
355
444
892
805
553
164
434
62
941
556
220
17
192
60
117
689
406
560
178
951
32
617
80
750
153
386
575
600
50
977
290
989
488
117
760
753
72
836
139
923
372
312
378
261
259
182
50
520
19
366
160
413
381
900
454
469
548
381
747
190
685
333
759
419
82
252
765
411
403
123
161
855
991
910
659
54
209
922
435
484
193
953
14
250
163
799
35
288
700
101
358
743
956
426
147
639
824
201
670
816
501
378
545
112
721
714
108
967
164
128
357
899
206
924
668
846
205
564
120
958
9
289
775
225
201
118
725
311
893
676
52
19
537
836
117
112
326
412
734
631
228
967
872
395
606
371
491
144
656
906
1000
641
648
546
620
109
2
578
600
563
831
822
875
981
431
586
223
743
595
897
398
444
329
712
60
31
707
571
499
160
150
598
319
839
380
841
277
706
656
692
393
724
663
531
318
720
626
795
704
912
778
397
949
526
311
779
312
656
339
922
801
759
198
320
676
567
614
256
660
748
887
726
154
316
270
9
848
700
120
182
132
349
269
854
616
931
271
10
878
524
841
142
302
670
852
761
486
783
712
999
221
223
816
235
530
291
13
595
543
486
741
742
291
660
542
554
642
100
157
213
658
158
313
708
652
763
600
966
82
62
555
657
215
458
174
225
187
525
602
828
673
631
678
719
906
623
334
9
173
578
600
947
249
468
107
551
444
564
526
933
76
527
347
698
213
449
768
564
475
549
222
764
519
826
259
828
624
746
81
85
395
959
11
554
236
109
581
992
668
27
708
465
961
20
677
230
865
446
199
645
350
547
900
541
455
295
976
735
250
66
601
380
922
108
921
453
739
99
89
944
408
557
874
267
973
534
826
1000
909
788
822
294
544
590
131
204
265
439
768
770
224
199
32
858
436
608
569
669
203
685
233
346
797
277
305
293
191
888
332
658
440
981
972
931
979
126
748
761
725
735
547
912
355
647
12
728
571
473
745
622
447
453
360
859
210
549
989
347
896
651
795
253
416
37
418
987
441
720
47
513
426
875
977
3
801
344
117
568
52
106
882
165
954
694
306
811
720
749
21
932
182
323
935
992
427
53
89
556
496
45
155
609
847
169
500
229
301
461
542
716
83
506
392
865
414
20
396
382
796
281
261
347
804
760
909
245
702
43
32
315
660
116
654
874
685
186
618
840
656
456
42
888
987
726
264
545
523
226
687
54
253
852
235
34
291
850
862
799
377
25
634
679
818
786
455
869
423
650
418
122
462
380
107
67
89
582
898
67
24
404
471
299
453
991
287
182
301
439
743
363
2
352
84
213
892
480
915
212
165
586
353
626
89
422
407
628
857
608
200
367
998
311
18
523
756
818
985
571
226
513
361
323
308
295
89
298
761
187
216
146
700
718
270
637
914
715
470
719
288
269
921
744
414
977
574
257
217
68
772
671
47
616
695
747
220
876
841
36
432
697
980
351
837
108
685
897
803
389
616
891
548
415
249
395
919
575
608
602
539
359
872
993
447
536
456
639
115
949
234
413
452
94
147
20
975
59
315
585
841
869
146
978
857
990
649
200
882
534
308
918
274
713
440
685
160
225
892
446
341
538
327
712
586
491
92
169
929
255
855
534
314
428
774
228
628
992
953
759
689
899
332
770
268
326
968
385
581
979
854
811
974
416
62
174
728
23
2
207
4
161
8
706
941
992
312
680
855
677
703
679
287
952
800
116
368
591
937
312
622
864
98
577
834
938
228
906
76
81
494
753
325
663
759
918
354
186
603
797
750
20
740
110
978
71
545
755
369
365
721
623
820
392
850
46
747
126
677
46
546
809
489
707
406
969
908
815
831
642
708
344
631
424
46
529
462
846
606
13
212
491
738
6
690
449
617
479
59
1
794
169
446
836
334
560
979
752
846
91
277
543
341
517
61
674
834
778
131
445
979
691
438
569
860
531
334
471
238
854
394
167
206
955
389
269
174
969
68
544
582
965
456
435
549
327
231
149
889
350
615
224
615
254
886
977
56
747
296
872
204
869
673
641
753
96
468
933
572
569
316
384
27
906
470
269
652
224
605
278
159
925
573
596
660
275
645
139
304
34
671
718
210
199
372
940
702
455
672
856
386
43
557
714
514
602
493
708
426
983
800
247
596
155
740
142
960
126
252
49
742
197
458
657
968
1000
37
411
211
483
553
13
885
438
643
522
583
189
752
678
533
828
732
959
246
704
216
977
804
922
142
39
69
319
169
92
267
661
46
815
50
876
148
312
127
734
519
738
7
720
758
170
214
818
994
244
591
527
18
364
922
712
351
799
199
856
684
614
280
814
621
162
562
486
148
837
577
660
549
880
69
891
787
288
216
471
503
310
139
413
865
576
731
922
465
651
168
987
358
671
125
586
92
789
879
485
315
331
978
763
90
952
93
17
613
559
981
648
382
458
264
770
228
14
834
48
819
64
283
216
378
501
676
104
411
699
390
772
151
942
479
723
317
586
221
249
486
475
79
680
98
38
300
656
623
569
766
596
948
432
526
213
369
304
620
249
908
139
458
639
820
208
1
922
300
438
440
54
370
302
891
751
852
654
877
71
151
237
991
279
286
85
209
921
250
672
768
664
314
438
381
678
313
298
863
260
327
834
862
936
416
128
548
525
217
627
518
491
299
981
149
453
119
569
878
898
340
266
614
4
16
83
613
945
869
500
650
226
481
667
253
408
700
167
110
27
23
698
472
654
976
850
554
815
783
161
462
921
716
741
145
448
569
60
225
368
645
962
339
211
463
540
810
221
202
309
7
775
494
990
813
596
814
338
939
344
116
640
681
830
818
922
902
446
467
431
625
412
631
680
672
77
671
165
187
831
37
921
716
155
642
214
774
936
707
2
455
490
154
309
698
629
308
233
286
728
147
171
522
987
824
737
772
974
521
3
779
127
938
904
702
54
898
127
344
415
607
325
920
621
87
264
19
835
173
373
120
561
255
246
141
610
643
795
21
411
24
165
247
403
986
987
599
743
1
241
101
681
568
830
309
713
455
916
652
76
82
243
458
248
159
952
692
818
600
829
179
568
612
555
294
582
593
284
648
1000
138
781
312
324
40
444
509
292
599
760
506
939
996
121
647
888
713
495
80
827
219
121
756
865
212
265
698
691
729
97
376
494
332
891
267
163
412
114
312
628
363
397
46
70
20
91
630
378
266
824
877
442
202
498
638
781
572
222
587
582
412
961
535
414
76
95
872
781
806
667
662
177
43
804
197
520
511
719
515
672
927
712
535
222
854
820
953
921
833
82
971
906
430
952
287
352
223
2
490
314
124
931
155
271
586
854
495
348
438
979
374
278
79
95
851
887
744
720
198
333
362
377
514
339
328
239
635
426
125
267
32
484
336
94
780
64
42
85
492
465
981
431
313
21
140
648
685
984
631
594
608
74
819
910
568
54
640
879
110
667
19
795
298
887
30
318
923
723
264
726
409
737
395
646
774
44
573
624
924
791
630
840
781
29
484
400
450
445
367
877
706
644
663
205
566
528
202
608
612
868
855
960
40
328
110
886
96
63
156
931
698
487
630
345
546
979
837
377
969
100
709
482
63
346
227
532
435
608
302
922
9
268
375
452
904
306
94
27
329
873
486
471
846
554
964
229
89
916
378
329
206
24
51
741
902
311
431
189
915
559
526
535
166
783
784
111
650
485
453
737
288
102
748
720
636
447
329
829
323
614
703
97
539
117
187
301
711
9
929
171
767
333
363
657
15
551
146
121
708
526
292
905
865
215
727
560
721
497
952
942
512
441
832
520
926
890
807
462
676
466
949
519
97
934
385
295
615
440
580
202
194
288
821
315
589
771
67
363
365
78
12
312
138
431
782
332
431
447
229
473
870
150
180
21
190
207
295
365
657
731
457
135
64
423
707
572
435
929
788
327
903
15
310
371
31
601
391
305
2
702
376
90
686
95
912
177
611
873
217
61
200
65
852
533
514
227
687
284
883
196
43
53
459
248
181
227
735
517
396
646
497
855
9
378
520
287
420
401
534
816
245
465
676
637
245
859
638
737
420
482
229
440
140
383
911
738
671
904
130
110
757
643
970
119
211
755
706
290
605
483
344
618
230
416
136
634
470
700
328
81
594
301
144
141
795
482
107
634
952
830
309
746
232
559
191
687
117
305
702
125
878
295
470
347
831
617
744
930
914
281
427
76
285
907
481
897
650
169
330
682
991
578
695
543
202
779
428
962
893
319
525
403
303
749
478
590
804
8
524
28
971
246
136
76
559
670
339
177
34
502
17
882
470
856
416
937
746
205
475
24
971
103
432
705
979
7
415
742
549
372
363
252
738
667
663
73
334
596
370
328
979
609
719
408
954
742
925
502
968
902
932
362
529
31
859
207
681
936
395
541
901
206
251
190
968
323
129
42
480
998
339
828
475
775
325
760
311
176
876
13
570
991
728
839
223
840
603
566
749
819
443
855
177
831
782
386
269
217
720
543
183
428
934
793
992
770
519
180
380
703
239
768
678
797
907
923
165
188
257
46
220
311
584
716
468
757
899
283
554
345
91
569
543
852
822
732
236
435
502
313
890
454
679
151
918
246
650
156
161
455
894
899
222
646
185
608
184
300
894
413
743
721
19
640
439
73
967
547
165
515
955
117
629
392
176
456
740
507
556
876
187
790
3
995
609
101
546
4
846
443
651
843
710
644
307
160
627
414
180
796
250
741
256
25
864
800
895
945
993
887
169
200
122
420
672
703
848
695
740
149
134
950
148
866
487
219
937
10
105
641
935
190
989
162
946
354
9
16
310
175
753
982
758
234
729
194
25
17
158
154
702
98
175
734
198
940
709
127
471
395
712
140
426
353
668
733
443
969
543
428
575
557
394
67
346
560
890
391
904
942
897
116
577
4
93
467
452
886
322
649
710
948
988
345
876
825
376
140
9
192
182
711
149
181
916
743
983
950
82
770
803
116
199
590
300
649
800
448
642
327
525
933
591
77
282
414
99
318
266
891
968
966
294
315
663
877
519
834
283
343
112
869
57
700
864
663
445
237
38
714
81
382
975
514
343
560
104
155
306
219
69
643
168
262
571
206
46
535
430
531
194
70
96
561
272
497
493
460
316
423
678
406
407
605
235
87
893
398
736
205
170
345
854
788
698
742
946
854
896
675
975
789
30
327
694
852
11
339
879
349
280
606
259
383
583
183
478
528
513
911
84
453
130
950
44
287
856
674
763
472
102
260
908
970
751
897
588
935
730
717
640
402
367
458
784
87
143
372
432
160
730
88
790
721
952
979
676
750
362
84
198
509
716
764
982
740
488
123
215
493
959
656
111
101
106
718
765
655
686
196
583
279
476
185
582
689
542
573
918
770
826
178
921
383
74
493
778
217
323
136
749
246
743
848
480
297
614
220
516
286
629
383
624
921
490
575
885
71
1
820
824
507
462
994
24
476
171
148
778
360
318
324
331
758
318
33
175
418
944
185
697
853
201
563
159
884
974
843
678
41
938
768
355
522
54
319
184
369
281
646
693
623
790
60
550
485
53
628
503
925
669
756
105
769
687
705
646
997
496
140
595
913
26
672
637
855
174
848
82
334
827
185
31
842
845
671
178
79
631
604
537
25
723
782
724
101
931
815
604
643
141
777
288
66
816
503
474
366
645
594
76
74
509
562
933
387
151
663
147
939
484
619
254
622
497
856
15
931
80
874
60
526
918
75
28
119
793
703
112
309
259
550
116
707
670
740
238
554
968
197
783
12
478
399
922
531
176
602
460
976
580
32
251
696
410
465
568
361
687
186
251
172
742
603
914
13
921
667
816
213
429
812
287
847
846
365
738
934
331
206
356
449
424
51
570
816
678
836
240
425
33
599
309
757
969
691
365
915
12
341
137
700
63
396
468
895
377
512
718
87
757
211
861
171
651
995
772
682
417
132
320
216
979
822
931
514
431
215
212
226
957
130
100
965
578
412
719
58
845
543
830
278
570
543
286
941
90
177
420
998
354
203
632
89
346
724
756
123
950
701
969
632
401
337
108
969
887
370
256
499
696
247
385
36
540
807
638
145
360
345
587
392
908
901
402
272
941
170
428
328
645
714
87
935
247
20
391
325
389
553
593
684
983
127
675
591
690
814
417
623
115
130
804
688
89
431
366
547
111
273
859
18
150
12
375
543
523
54
584
198
493
988
279
691
553
283
859
578
129
375
658
782
540
737
265
426
650
951
128
176
556
900
738
563
75
963
668
203
511
457
550
449
398
673
872
757
474
538
102
995
148
331
225
961
103
885
273
634
494
414
763
73
387
428
301
396
726
205
744
1000
112
949
455
27
125
45
180
84
728
822
961
417
560
842
355
46
546
1
939
849
327
675
678
238
439
746
339
843
70
556
497
586
472
775
97
621
790
710
735
887
141
801
23
447
289
926
453
333
137
662
137
384
559
833
714
429
825
515
458
213
949
176
354
678
853
770
476
550
134
413
526
698
566
753
798
426
213
237
134
641
162
291
702
851
458
835
505
88
750
667
599
121
549
977
942
792
756
674
621
912
305
262
984
917
325
704
846
395
253
110
517
679
678
91
879
931
555
319
85
524
570
163
796
82
112
285
11
233
291
707
669
977
878
203
209
613
885
803
175
297
714
842
774
661
507
248
23
396
295
718
740
331
98
999
188
335
904
752
599
335
801
377
183
835
145
740
452
579
796
954
873
439
879
228
916
164
480
362
552
377
942
604
122
72
168
457
283
930
433
515
452
952
734
554
734
289
631
916
851
629
877
695
998
199
845
351
842
251
942
152
145
886
732
292
598
203
444
614
473
62
909
610
696
194
763
785
721
3
883
526
407
153
651
330
715
983
615
614
632
828
489
385
193
586
275
681
860
248
475
94
794
652
966
629
753
419
163
862
452
893
489
603
218
917
25
304
683
435
444
28
91
262
975
80
498
811
211
362
783
228
11
74
937
180
622
636
508
469
425
638
463
780
363
129
960
117
228
841
693
893
421
749
543
246
751
943
224
839
111
959
527
340
559
540
515
770
502
325
733
163
135
95
95
279
273
19
617
679
997
815
558
99
317
861
873
908
169
63
99
410
630
730
898
876
192
790
574
520
295
431
752
33
96
665
323
945
615
339
467
810
8
885
246
154
674
415
825
183
322
852
861
495
912
417
951
409
610
188
353
88
479
393
362
318
694
790
827
674
443
782
309
803
562
874
272
729
144
717
541
420
47
240
963
323
245
345
848
214
449
175
302
522
279
263
2
195
525
745
319
342
750
389
944
86
520
400
334
523
81
856
359
251
169
114
520
643
958
766
966
947
843
514
340
346
888
869
169
278
269
706
115
704
995
525
911
522
489
753
201
968
381
501
855
704
998
15
509
251
581
463
248
569
228
804
369
893
929
227
91
350
805
62
968
539
878
103
464
967
252
26
851
190
576
928
138
565
79
76
221
758
245
597
818
528
408
229
38
883
176
196
643
355
589
987
133
44
374
56
805
65
459
496
856
215
170
312
392
997
185
215
962
610
336
804
828
180
859
566
754
263
513
399
519
639
274
258
701
483
6
61
568
304
554
255
24
429
234
260
673
398
566
582
999
360
397
546
572
468
293
439
948
285
156
376
646
435
584
317
168
77
377
513
544
316
967
85
284
286
245
597
949
522
448
245
765
188
286
707
839
852
464
825
582
842
115
997
858
604
430
595
264
157
947
749
670
431
544
593
825
261
175
407
399
839
776
136
305
670
572
444
519
481
231
804
915
47
912
126
812
629
292
74
26
552
61
520
255
473
232
588
481
66
835
311
951
148
214
243
980
801
195
284
461
621
864
571
519
72
546
530
158
846
831
107
126
238
227
716
465
821
15
712
373
101
466
9
82
447
392
51
414
264
364
475
579
333
608
686
535
226
706
39
959
938
768
486
442
235
646
342
50
700
99
320
792
169
575
67
856
41
401
238
698
950
716
581
209
400
486
581
191
289
243
960
357
676
3
757
887
750
989
735
332
742
343
610
342
425
33
947
223
911
542
611
835
731
714
334
712
501
366
314
560
98
880
735
494
903
987
790
481
572
426
44
430
784
948
1
323
592
410
300
560
325
324
305
444
476
303
731
337
642
266
573
578
377
182
855
681
779
346
594
679
721
903
952
744
917
390
764
369
415
566
496
467
703
707
222
710
328
813
381
320
828
913
933
303
819
768
20
817
264
751
387
946
340
672
647
689
793
602
904
341
372
498
417
809
734
604
724
583
217
112
109
246
994
558
361
429
422
781
548
56
863
41
911
580
842
69
49
671
174
412
288
457
626
422
486
9
735
623
575
227
638
10
798
654
178
28
967
49
71
601
40
728
613
596
999
788
305
540
281
324
732
227
22
686
242
122
957
597
271
70
132
725
664
911
493
891
953
40
14
665
371
809
290
509
320
957
396
12
118
923
396
988
106
967
87
382
635
535
452
998
16
190
793
23
224
718
746
223
96
763
169
456
728
408
443
836
54
699
822
505
878
974
345
441
197
247
215
175
287
594
745
580
865
668
683
134
618
986
216
186
522
621
11
785
687
286
409
580
882
554
293
154
532
146
207
881
727
816
19
103
699
320
799
945
306
377
598
589
289
321
519
198
458
357
782
965
509
931
526
962
860
782
686
555
774
617
659
157
35
240
373
6
602
160
51
476
25
369
201
134
844
42
324
411
869
342
397
272
8
398
466
724
273
793
558
343
693
568
701
252
130
836
44
161
413
580
950
129
777
130
459
682
327
78
704
819
135
135
693
205
632
523
400
547
123
19
211
760
663
713
627
12
995
855
568
169
945
906
741
476
497
70
340
512
732
119
732
615
980
291
939
1
798
394
409
719
869
38
12
486
496
76
253
128
138
921
383
94
364
413
506
3
665
276
751
722
783
29
333
799
644
421
588
397
472
60
142
57
417
944
959
710
831
17
386
370
390
710
210
848
396
667
441
648
920
504
736
927
947
489
380
29
315
502
284
643
7
502
731
72
356
969
500
460
781
517
552
66
965
890
679
834
789
117
402
600
925
432
912
209
709
906
43
735
803
437
112
764
219
844
950
390
451
357
597
172
832
698
966
831
751
301
209
829
13
932
685
342
482
148
167
317
90
566
389
466
467
864
111
74
727
825
626
423
380
481
47
522
984
608
758
555
871
394
143
123
229
96
64
941
894
907
598
119
419
35
230
508
393
216
22
937
531
510
303
283
725
225
47
496
150
247
446
631
479
910
124
907
486
747
78
599
580
123
708
301
352
814
220
730
818
28
295
779
848
257
147
956
210
594
13
716
797
842
659
432
817
821
722
910
189
768
564
439
940
615
841
317
145
242
206
697
810
502
345
355
192
934
115
717
189
597
646
18
848
382
111
51
510
510
322
289
797
628
447
556
470
107
885
591
171
649
825
22
193
311
54
258
712
383
359
801
388
359
250
275
822
391
824
277
124
205
247
764
790
471
774
305
123
973
203
963
695
761
354
977
723
661
532
682
769
136
891
323
894
503
301
472
231
957
604
827
963
668
138
7
871
460
2
852
927
236
835
395
889
350
807
345
516
603
113
435
773
384
495
443
392
763
260
33
228
13
763
828
125
127
590
277
428
367
529
958
847
814
933
915
108
141
287
530
726
588
617
203
265
190
885
789
656
864
645
392
499
864
90
549
801
458
25
315
239
410
488
34
901
15
459
822
406
962
578
912
470
278
854
60
251
952
117
126
286
637
347
825
409
964
79
382
826
625
826
471
431
349
777
426
522
288
125
134
310
150
1
453
3
607
373
236
782
126
253
269
703
397
195
519
401
944
403
73
484
361
714
103
688
826
345
965
174
219
582
291
839
203
508
553
149
90
477
121
789
186
268
260
381
561
777
899
638
895
631
203
558
103
381
204
711
951
735
757
215
775
871
99
773
682
34
159
976
383
467
536
167
841
214
783
340
522
504
206
898
890
209
924
631
175
369
300
921
150
862
228
13
804
105
936
175
370
90
118
719
90
154
243
108
503
630
830
886
770
932
319
722
765
681
931
637
228
197
577
424
249
52
421
308
783
420
201
165
665
620
786
963
827
614
705
679
1
202
627
599
266
324
830
810
152
162
704
668
920
745
279
212
821
331
534
829
811
163
13
932
246
91
884
68
526
187
101
664
547
678
797
572
61
470
371
664
747
60
983
18
848
880
339
625
770
958
720
156
861
335
161
13
964
848
605
840
1000
739
591
638
950
25
781
899
173
755
190
483
848
55
500
491
742
341
269
61
179
210
126
834
272
283
305
809
6
709
966
467
749
161
823
306
88
840
508
419
701
475
972
312
128
316
962
950
889
862
295
927
397
423
192
740
501
644
427
357
290
816
422
688
22
129
701
83
616
17
312
700
207
406
919
435
666
981
283
119
824
560
751
854
379
273
189
694
116
536
529
349
124
730
716
225
125
104
396
929
936
651
102
280
329
619
72
21
224
875
64
635
265
555
710
151
278
315
19
327
47
2
585
404
106
786
989
457
978
590
606
430
413
202
781
159
659
550
889
19
774
488
324
352
290
861
876
515
287
768
253
189
79
700
741
589
277
684
134
347
933
640
73
133
841
908
915
534
864
316
66
305
280
196
483
886
783
508
718
988
728
553
430
122
601
846
765
187
530
344
406
618
822
605
343
127
156
443
651
790
56
281
616
76
722
736
592
425
109
922
862
165
394
575
599
866
603
408
746
721
254
1000
274
184
278
146
780
878
405
829
887
740
415
876
194
496
378
928
817
776
54
560
726
653
139
265
111
928
926
548
47
220
246
554
530
821
286
486
826
310
959
600
691
115
63
667
668
593
350
652
167
667
5
787
406
777
719
360
668
696
751
312
500
745
859
167
647
98
995
913
520
139
982
208
968
300
182
667
951
401
345
65
477
301
390
3
819
541
884
944
610
801
355
575
864
155
408
114
381
551
782
536
252
459
144
689
382
325
390
910
70
359
697
84
640
155
359
29
87
833
716
732
465
733
104
233
518
129
821
882
632
112
555
293
782
567
589
570
523
106
363
264
493
955
655
102
88
33
720
732
173
885
224
606
741
705
700
644
414
436
545
514
547
784
315
201
502
55
149
35
327
931
703
502
709
621
903
964
524
371
121
906
773
979
181
401
968
767
677
322
279
459
698
214
879
568
969
864
945
138
810
331
743
204
65
613
44
879
341
193
901
780
489
404
451
409
216
943
994
169
151
877
62
960
470
190
591
642
384
228
554
238
431
432
653
428
524
378
744
737
117
459
658
858
711
514
29
683
155
331
529
980
816
211
636
104
782
756
716
784
699
582
687
816
705
949
44
448
204
179
297
336
897
306
195
236
570
594
220
987
614
479
938
945
189
959
748
728
184
681
457
52
887
820
886
458
377
293
420
941
141
75
9
840
404
125
613
879
927
946
521
890
835
898
285
606
111
177
218
863
10
785
553
708
561
937
386
205
711
84
479
153
415
111
829
589
185
378
686
642
163
950
347
301
782
733
629
662
489
293
392
503
782
787
877
400
35
794
881
137
204
814
25
891
513
889
422
487
650
71
100
67
853
445
423
679
477
48
564
584
299
291
839
628
864
411
295
579
633
112
534
207
554
754
143
758
958
389
498
653
342
477
931
441
710
352
414
490
596
365
17
482
827
158
302
470
363
724
775
188
249
736
238
322
872
123
611
646
176
29
386
317
470
109
375
89
763
564
823
917
303
449
288
215
171
575
900
37
283
742
740
578
158
135
135
677
151
490
576
473
622
989
858
958
686
949
735
934
795
66
119
815
350
341
350
758
986
862
578
884
930
277
677
692
72
158
371
341
983
442
470
177
150
773
203
709
113
913
646
295
26
321
131
920
408
651
383
817
479
166
803
132
565
34
992
487
454
40
117
83
520
492
176
946
635
33
557
997
623
582
560
938
51
899
684
309
665
85
581
691
661
904
520
737
303
962
115
614
74
654
823
463
694
241
451
716
845
628
473
439
366
172
477
380
18
355
484
105
663
241
183
386
840
460
349
14
275
851
861
343
820
19
737
157
681
787
596
908
565
948
750
989
550
759
926
438
70
360
260
436
393
635
776
982
370
122
36
405
21
181
31
742
757
55
665
548
618
392
369
415
968
480
505
332
466
752
197
36
22
80
150
646
629
998
835
245
645
278
151
499
152
219
275
100
438
583
985
554
569
384
159
840
234
623
501
531
767
616
822
249
304
810
336
748
525
802
518
492
353
857
42
307
248
373
189
605
463
587
909
710
736
328
404
993
427
757
721
922
1000
847
306
611
138
847
937
135
453
52
709
707
964
20
33
776
14
783
683
276
286
713
994
507
934
430
259
622
614
561
192
259
379
194
110
666
976
625
142
538
94
322
314
899
485
105
875
564
682
176
576
130
279
26
909
969
297
201
516
404
239
581
62
108
816
136
880
765
185
93
600
233
782
39
802
726
452
818
445
60
665
962
462
618
37
18
443
487
251
368
770
190
743
42
926
497
200
602
931
125
982
346
58
500
87
18
2
351
178
674
696
654
459
582
810
296
943
857
770
907
726
33
843
485
437
925
397
807
926
944
977
125
615
503
245
329
666
254
144
559
254
694
861
254
800
108
323
753
972
896
963
855
625
89
450
196
626
274
937
920
668
166
112
859
801
840
17
382
345
951
156
123
290
342
897
64
61
92
547
792
753
425
754
326
536
876
115
614
975
770
926
614
414
391
44
941
410
165
737
195
465
813
205
416
916
720
191
599
913
662
720
848
879
681
548
517
698
95
348
660
141
548
994
208
741
591
573
552
399
452
916
644
472
579
493
275
28
10
506
954
220
872
886
674
468
97
685
906
224
968
55
369
634
262
589
457
343
554
325
744
996
722
103
644
756
806
301
119
285
167
185
332
201
305
249
261
969
810
955
588
555
649
212
631
947
402
807
700
810
114
731
994
136
167
18
115
743
911
281
307
857
861
596
806
826
912
778
20
222
414
357
857
186
888
784
182
927
864
467
253
658
620
262
2
145
535
943
184
237
453
1
760
420
668
838
346
474
121
63
204
770
969
114
39
628
936
892
838
393
768
435
55
604
662
908
743
673
759
359
647
7
668
739
816
406
515
687
85
834
178
427
586
420
249
938
576
621
712
234
993
11
520
198
564
97
44
909
774
881
834
833
675
634
260
530
355
497
370
799
842
58
750
274
391
46
256
535
359
605
213
750
349
416
135
690
903
94
7
738
777
874
953
156
773
596
433
453
152
373
185
157
892
167
772
702
464
655
964
378
309
433
173
548
912
585
802
372
253
91
705
332
368
388
878
732
988
611
179
181
500
712
92
775
986
701
546
357
704
692
335
711
210
337
974
64
228
456
702
547
504
401
924
571
148
721
579
213
364
228
812
772
71
432
837
646
622
625
87
539
735
605
565
816
797
144
810
489
872
803
74
945
143
678
61
15
999
918
108
389
656
669
758
715
30
192
481
940
566
481
728
561
840
649
593
526
83
741
98
433
189
357
534
544
405
702
344
880
644
209
730
324
282
917
588
223
399
139
338
460
621
791
963
351
130
948
857
984
943
793
134
845
282
178
643
643
668
402
306
272
441
692
304
747
534
60
304
774
672
901
169
337
650
712
545
313
974
804
296
661
952
708
10
185
253
276
722
194
95
137
513
669
442
263
913
685
38
878
877
910
680
838
622
982
842
937
841
429
680
259
605
614
461
851
774
838
690
485
920
368
535
223
529
649
688
810
744
353
457
688
33
279
703
540
927
287
238
850
425
622
413
900
742
2
935
11
837
786
407
586
533
390
661
713
148
876
765
637
214
293
451
431
287
927
837
569
838
75
498
930
926
355
378
924
684
846
535
117
640
526
434
674
571
604
375
424
863
328
605
157
356
761
889
16
231
845
605
462
823
797
922
400
132
491
248
442
425
43
947
206
561
239
256
786
573
808
445
214
593
782
537
823
444
361
300
909
70
759
826
972
511
488
722
136
335
401
835
42
240
630
474
634
78
211
301
770
677
823
405
513
651
541
589
310
878
939
587
975
408
179
724
572
380
962
541
818
928
318
19
599
183
295
357
545
180
499
682
406
937
319
700
102
974
418
41
955
306
715
981
566
283
690
295
194
700
265
223
332
259
943
929
332
844
139
370
588
26
849
182
782
889
893
79
136
593
967
223
440
12
676
253
867
455
495
922
235
727
374
836
425
723
303
364
117
357
690
643
878
859
871
499
911
370
390
245
428
357
967
573
722
540
208
167
480
940
210
237
796
146
148
939
608
116
859
472
42
650
167
753
218
167
450
728
609
585
482
746
976
908
147
933
223
580
989
192
273
799
910
238
184
760
528
108
307
232
857
677
220
952
990
51
560
91
422
109
612
422
491
124
738
904
174
103
264
91
122
458
463
171
420
650
658
437
986
698
271
710
942
857
849
549
543
248
722
91
487
8
948
25
466
307
664
490
881
642
745
684
526
967
960
561
860
540
424
298
228
874
221
136
6
767
519
786
190
248
356
851
385
161
565
603
505
260
974
27
751
924
86
254
573
45
960
376
439
186
885
161
140
871
757
386
303
719
773
326
533
230
161
447
305
163
196
507
335
873
684
61
644
431
407
857
976
56
784
711
500
185
138
235
992
522
508
232
797
510
917
650
927
981
350
752
565
204
485
539
131
112
386
548
783
315
963
839
924
357
967
384
812
819
717
60
887
27
535
184
778
592
78
817
245
481
368
102
523
63
359
526
597
415
278
329
984
190
831
221
473
508
600
224
114
671
595
701
461
970
990
594
707
508
515
465
886
733
852
202
748
343
648
132
289
332
438
852
136
193
843
323
182
727
924
607
911
489
429
190
831
594
12
999
334
562
178
66
40
848
853
293
441
964
960
928
188
427
355
146
934
277
770
646
3
601
166
239
517
297
57
218
802
318
884
727
45
747
519
434
203
377
298
560
102
899
798
709
531
419
709
45
860
771
757
5
413
41
633
197
347
766
244
76
307
511
439
736
476
924
548
478
935
895
708
790
449
166
940
64
877
580
394
661
415
175
8
904
810
493
51
212
465
819
682
851
117
509
705
723
362
247
146
206
875
833
164
291
588
63
54
188
442
378
804
109
599
215
722
168
142
396
156
204
374
504
234
865
785
887
819
464
651
840
624
979
7
563
518
45
431
663
571
954
668
376
353
480
643
145
273
824
802
886
537
72
62
103
432
370
849
980
170
419
855
725
531
22
167
727
866
126
365
549
813
226
51
375
261
62
993
298
649
228
761
759
725
728
294
497
227
488
280
654
812
576
659
996
716
171
807
825
259
354
171
806
357
432
214
808
574
817
536
887
137
450
959
675
532
381
160
783
980
405
185
324
110
552
775
247
633
881
12
45
671
213
195
257
662
378
234
391
452
106
88
58
252
896
938
619
647
79
865
136
716
812
755
227
645
942
52
253
907
485
757
344
213
9
761
956
940
314
217
12
688
657
120
192
927
197
736
608
471
487
774
921
616
600
467
941
370
915
831
887
138
691
424
787
600
279
849
924
279
255
121
882
494
794
741
454
947
332
19
648
212
932
706
63
765
798
530
157
10
67
549
309
965
343
562
124
868
457
6
141
13
545
835
928
524
906
933
599
631
9
472
943
224
681
480
657
151
771
593
699
719
514
599
381
371
424
902
628
336
780
517
783
343
677
502
436
155
176
27
21
767
299
436
353
597
483
705
832
910
657
688
792
979
246
434
352
247
311
616
173
827
455
828
712
216
360
92
951
14
551
436
55
798
510
796
102
2
353
827
868
826
62
431
586
756
724
925
783
198
277
835
571
130
63
210
216
437
833
234
422
757
965
641
528
259
324
117
735
774
607
423
559
73
5
476
925
904
724
967
719
605
253
406
154
716
227
679
998
51
439
282
594
98
814
416
564
455
167
32
328
263
150
742
827
218
103
214
369
817
444
335
124
933
825
909
605
705
519
167
415
957
435
648
656
85
683
312
633
400
851
883
943
415
11
502
584
463
21
721
461
329
846
790
550
293
494
918
43
84
621
939
966
785
64
373
137
631
312
390
852
1
441
605
340
619
129
933
853
144
160
959
249
876
258
438
67
247
178
514
358
168
739
264
34
16
872
953
49
292
826
201
540
494
397
866
932
797
392
70
124
482
603
227
61
890
219
332
442
873
968
47
789
317
262
329
873
355
274
416
287
292
208
17
16
125
946
451
994
743
918
299
974
571
301
862
519
458
583
333
562
70
136
150
760
908
672
416
848
352
371
645
269
806
17
313
655
87
712
904
120
714
595
149
928
635
523
187
811
225
863
215
112
121
382
999
963
540
710
313
924
275
21
952
836
486
370
500
185
704
602
416
933
273
866
337
578
518
543
712
216
543
833
19
502
500
348
831
691
509
781
988
407
233
152
909
393
237
159
902
242
865
930
957
41
377
766
60
939
434
584
586
869
880
373
662
46
933
366
701
420
520
620
506
930
546
330
415
312
251
529
993
172
711
798
670
247
719
206
543
72
964
13
294
783
470
571
793
384
708
466
497
642
654
199
198
694
366
580
30
567
280
598
875
80
567
728
505
4
321
511
828
943
303
779
609
123
216
70
901
162
232
632
203
951
582
892
80
960
554
449
542
641
168
433
10
135
125
540
109
128
370
205
823
539
756
106
794
721
845
668
666
958
845
303
412
372
32
883
523
782
797
327
797
660
626
272
201
119
885
483
961
749
315
49
591
231
486
440
47
851
311
162
573
459
875
131
88
946
504
830
171
2
985
11
775
798
263
1
826
229
833
614
762
527
201
326
898
391
513
635
208
247
448
455
762
888
949
987
577
561
240
773
108
486
826
525
910
919
864
874
315
133
378
427
72
103
265
374
4
253
956
402
703
374
872
897
138
679
555
210
875
40
433
300
282
616
726
187
671
470
916
486
887
266
537
737
197
810
776
378
710
28
534
994
748
949
137
885
726
408
849
118
135
469
697
950
169
25
905
924
384
629
389
2
527
384
369
804
328
633
122
403
647
272
313
155
798
712
137
717
280
962
715
762
431
781
783
883
694
592
772
842
308
703
764
624
218
367
662
717
928
414
157
679
827
493
701
309
247
445
759
685
135
976
74
927
773
590
544
786
401
675
549
45
959
767
309
320
424
269
861
24
369
310
787
140
430
24
698
2
377
243
784
423
316
501
446
392
369
275
148
35
869
605
136
695
687
566
611
795
823
622
261
608
821
503
812
208
852
129
390
597
564
35
48
511
895
934
757
429
135
311
550
106
385
423
241
340
501
657
350
713
282
984
435
823
388
157
18
829
999
374
698
214
718
356
835
321
598
197
399
563
461
852
203
239
859
871
748
471
144
805
332
176
97
745
922
866
499
626
516
760
828
235
374
923
993
363
539
111
657
159
541
578
221
565
25
343
994
630
340
347
416
629
764
442
467
175
160
416
542
910
335
107
144
969
249
187
733
110
563
384
923
318
687
763
40
714
614
164
707
807
369
59
752
498
781
901
231
729
673
505
752
369
261
108
643
721
729
554
670
66
473
475
216
724
487
428
801
490
718
691
796
680
983
846
48
674
231
300
844
597
501
656
353
673
929
169
204
897
544
598
379
888
400
408
938
157
795
651
411
598
943
821
859
681
492
667
731
712
695
214
615
506
889
255
939
16
162
153
436
767
742
114
974
437
698
992
922
553
981
286
814
84
728
266
465
640
995
14
90
100
771
771
182
770
220
187
117
572
564
913
471
342
940
560
62
54
841
167
546
682
486
219
251
427
553
719
569
273
249
981
849
159
600
627
249
596
198
714
393
204
361
83
8
477
817
747
939
77
582
608
83
74
637
869
778
862
410
259
184
918
793
584
990
187
646
184
563
633
287
603
311
418
489
107
603
242
865
783
44
611
351
569
312
196
703
948
21
970
516
20
301
529
320
321
833
853
721
74
146
773
390
509
836
577
938
531
221
534
381
266
658
552
913
984
372
880
206
461
196
509
280
94
53
914
297
998
356
846
269
870
782
204
786
604
998
355
339
537
22
943
719
724
851
855
270
814
870
996
480
964
368
497
518
697
140
220
838
792
775
767
886
70
740
711
316
453
775
446
810
728
411
862
787
311
687
53
812
647
235
383
480
67
964
543
921
581
494
680
827
567
363
276
107
317
762
232
817
149
233
522
43
168
327
856
789
746
672
31
723
547
328
23
845
191
535
434
767
691
199
595
292
447
533
487
430
868
290
651
803
693
914
440
645
662
790
274
227
507
455
45
633
151
296
469
202
571
772
964
890
79
659
577
20
625
158
614
592
327
952
857
406
619
471
705
730
298
694
115
147
275
777
992
522
19
678
523
730
513
764
20
896
64
19
38
437
439
146
868
104
610
289
46
555
877
558
169
762
230
853
137
634
622
670
931
873
231
764
158
968
894
514
914
626
644
833
928
727
684
268
598
22
175
739
266
413
964
969
997
639
715
289
229
561
957
911
852
76
238
197
702
873
923
702
966
874
157
981
725
202
180
231
693
981
489
868
226
61
302
22
873
42
400
785
20
586
717
720
702
78
959
835
257
134
144
696
334
352
191
843
676
927
592
5
221
470
760
851
344
432
869
200
454
19
856
670
744
399
811
710
646
292
130
855
381
727
688
813
105
907
748
712
282
590
495
397
328
362
902
204
51
498
76
34
84
830
365
868
357
218
308
88
597
745
902
107
15
726
781
837
618
985
649
466
41
626
691
874
385
692
766
765
338
703
901
249
747
38
957
192
895
538
386
102
980
487
691
723
655
365
498
776
56
349
204
486
437
588
778
644
379
683
608
926
566
644
268
143
279
846
695
886
98
124
520
748
758
236
276
976
784
342
767
880
270
41
116
829
175
770
969
976
562
29
815
112
508
14
675
230
824
692
214
418
263
265
922
714
696
291
148
380
545
386
624
898
873
604
644
638
678
75
153
777
344
418
881
519
660
778
72
124
540
86
501
530
369
265
242
582
887
678
106
51
672
60
722
595
561
541
16
822
819
145
219
417
444
316
625
85
785
613
999
682
562
706
938
522
433
191
500
280
520
555
109
314
660
823
78
515
706
36
87
964
913
725
622
806
276
989
671
733
720
589
957
387
204
732
584
807
128
873
286
778
901
869
376
556
199
343
86
990
184
917
254
499
958
289
196
715
605
788
167
843
426
106
42
985
424
445
712
695
647
149
200
43
724
255
727
334
847
50
764
404
457
872
615
129
121
914
229
355
435
671
758
989
289
80
825
379
526
58
596
445
817
362
542
238
589
191
191
734
956
949
268
709
911
918
377
490
480
395
771
201
156
987
817
918
672
373
481
758
119
817
546
553
463
107
260
169
778
401
849
973
852
681
637
183
433
112
524
74
10
627
212
68
943
498
907
783
719
479
169
994
328
334
195
300
24
229
135
989
268
508
932
259
258
832
807
447
249
520
723
399
828
217
89
434
397
665
517
622
404
464
662
271
251
182
35
542
413
69
230
145
9
939
175
895
974
488
860
723
5
431
486
424
675
364
161
16
444
168
26
94
833
141
227
979
664
734
201
759
136
963
578
582
439
77
411
638
801
51
529
351
98
826
583
220
660
977
722
597
479
693
931
455
797
514
755
847
983
256
511
344
653
986
127
190
258
663
418
303
721
296
957
549
263
88
701
890
250
47
172
101
760
953
321
792
575
455
140
336
469
243
750
152
995
952
932
505
445
453
25
619
321
678
698
428
404
976
355
735
505
272
831
913
56
970
598
505
981
643
909
271
689
16
205
286
625
658
596
659
533
117
454
341
470
897
974
251
675
833
52
677
570
924
8
463
543
601
453
39
670
750
105
734
219
559
455
152
556
386
962
583
124
396
920
597
246
701
177
950
817
55
700
925
416
979
318
44
945
321
90
862
691
869
412
197
609
611
401
742
711
643
59
453
667
503
481
505
116
952
629
886
739
808
268
893
824
479
250
890
935
245
695
701
281
204
538
912
585
7
558
186
542
166
291
391
470
777
137
19
356
930
583
863
348
993
699
373
630
163
982
501
778
411
168
19
927
4
843
550
509
265
588
541
890
163
879
418
976
586
177
46
735
899
477
388
640
461
71
951
210
333
454
217
225
307
87
750
661
747
222
86
90
436
89
839
102
811
557
653
282
482
778
793
437
909
442
189
25
480
8
676
222
980
678
47
662
649
940
279
612
572
230
938
336
183
625
377
393
7
510
760
911
601
854
379
239
860
56
972
912
447
341
978
594
155
312
740
502
408
593
673
812
968
468
355
768
133
20
262
463
361
571
654
829
321
154
690
938
813
347
437
545
862
18
842
763
588
471
110
832
91
15
164
244
706
207
53
872
459
889
208
359
444
657
446
719
161
613
486
28
545
51
540
85
535
267
221
165
566
801
615
312
269
254
877
144
24
272
105
815
725
425
575
591
285
470
645
500
936
947
756
627
363
114
6
939
58
6
707
973
49
793
180
312
352
659
818
555
60
170
79
394
979
436
668
494
121
431
609
97
159
505
325
651
160
447
90
349
516
504
451
90
46
348
271
317
622
353
96
125
541
469
422
250
87
630
276
846
389
878
246
461
700
364
711
247
727
935
592
220
457
294
332
382
236
599
223
565
508
955
415
165
712
431
102
325
332
154
471
726
976
505
959
845
680
682
233
461
311
687
118
206
105
331
373
173
840
977
812
948
115
559
796
943
525
889
491
569
247
376
648
636
718
57
855
315
631
293
364
173
427
541
595
43
830
406
413
981
742
525
83
154
3
953
565
242
71
378
509
897
712
924
819
858
141
271
187
530
899
557
339
270
915
824
29
129
855
805
27
510
863
472
423
64
215
94
582
158
267
514
6
401
292
970
160
75
467
68
57
754
295
460
11
70
249
352
523
360
234
222
691
884
783
42
889
397
556
832
721
154
786
627
402
803
828
770
804
230
850
995
368
134
999
959
960
5
101
685
538
214
56
919
203
143
610
529
780
605
119
883
605
361
246
637
574
166
277
445
882
642
883
921
23
216
712
584
846
543
144
634
403
80
919
137
351
978
106
611
464
21
67
54
583
128
646
184
997
852
806
21
819
370
341
975
374
717
64
287
17
367
118
17
81
843
642
758
835
721
57
916
452
252
658
713
965
829
42
12
125
728
129
714
881
830
176
740
924
545
262
537
366
800
136
660
180
718
233
215
433
585
895
844
726
823
524
519
504
907
493
594
36
628
99
465
964
654
769
696
274
69
996
671
436
485
243
654
218
332
103
653
419
152
571
627
310
78
201
388
124
182
235
16
315
57
552
727
638
809
420
911
330
641
592
494
778
306
230
861
132
57
531
344
237
114
677
656
99
321
907
723
903
402
124
103
191
148
392
502
447
959
105
986
744
366
416
124
555
572
687
666
44
595
384
342
413
261
816
38
931
213
567
885
304
40
316
803
931
876
937
627
445
80
464
244
623
122
524
94
402
438
317
984
269
805
78
398
729
721
227
423
917
415
96
916
660
352
201
813
469
512
506
307
996
324
50
174
471
830
570
700
531
584
496
515
586
795
797
121
642
447
657
64
8
489
925
513
900
675
591
461
302
329
264
907
815
131
832
124
398
977
956
597
84
142
81
249
742
246
957
388
949
960
479
139
830
38
779
253
533
979
151
836
621
566
309
981
263
600
935
244
562
383
238
650
745
873
467
218
220
2
923
4
710
336
68
316
752
106
706
64
881
672
88
166
702
628
13
564
890
93
638
674
873
224
776
34
593
591
902
506
250
900
975
618
414
445
424
571
213
819
354
953
557
646
79
452
544
552
616
707
230
111
627
992
946
301
639
580
211
843
43
497
70
851
521
877
401
442
40
255
299
283
503
975
201
585
464
342
756
711
65
260
844
397
485
904
294
563
760
372
38
836
767
387
444
178
568
844
527
503
26
413
568
731
838
459
455
511
671
266
694
771
103
911
616
308
443
185
785
875
336
602
979
610
230
935
418
194
433
655
87
819
483
350
121
915
982
481
201
590
910
813
849
902
612
472
293
428
375
873
338
39
484
662
262
470
175
468
337
39
711
431
982
831
120
448
934
755
772
588
40
182
99
362
485
234
205
414
283
429
46
711
877
64
143
497
543
656
494
137
107
761
491
440
137
721
134
235
426
232
789
771
20
143
57
962
527
565
63
654
696
186
612
841
525
689
228
202
261
277
39
421
706
648
820
506
172
152
323
700
290
533
131
690
623
377
931
462
699
320
29
590
642
147
360
743
63
151
33
868
248
484
675
883
950
813
422
673
318
255
465
863
566
450
450
146
995
638
885
888
910
758
948
388
767
939
711
429
621
206
883
687
581
895
597
173
501
27
661
114
590
870
938
591
965
22
223
806
423
579
33
79
894
432
257
520
58
236
468
888
635
401
41
295
693
276
886
285
135
799
756
295
204
38
589
664
446
432
285
175
73
60
625
560
94
894
826
546
877
876
306
773
43
592
857
372
726
465
319
60
250
715
252
380
244
732
862
96
41
154
603
821
966
691
480
677
805
654
51
153
260
221
527
349
739
717
175
492
140
549
427
942
632
14
730
900
584
855
163
699
928
344
308
848
214
643
670
974
557
391
191
440
461
772
51
680
269
814
981
221
568
292
808
983
466
425
777
658
55
474
490
904
760
490
973
621
498
692
456
824
755
407
963
457
744
36
667
77
784
295
315
466
922
811
684
98
599
251
198
893
865
313
298
821
237
306
138
738
800
527
475
309
566
336
379
984
427
636
530
786
240
462
414
71
751
502
711
568
53
699
484
691
268
489
624
568
933
877
92
254
386
296
168
349
59
103
839
578
179
680
903
931
848
281
126
669
845
217
39
797
788
464
531
646
481
501
462
826
369
56
901
153
37
413
470
84
587
134
472
847
559
371
161
709
771
402
554
780
94
694
622
318
713
562
598
769
855
473
378
666
341
106
683
77
528
605
744
501
431
807
724
996
815
874
34
830
81
428
963
158
595
227
777
43
950
416
531
652
296
639
389
611
494
600
141
293
364
218
964
316
684
169
205
609
925
429
105
211
952
437
936
391
4
599
992
772
348
183
222
879
926
87
82
955
146
564
335
921
758
767
147
102
390
886
772
683
891
717
558
914
116
752
774
749
147
257
989
948
244
343
331
685
13
743
985
331
366
872
720
406
862
737
46
670
930
458
876
918
283
470
172
346
559
960
149
282
875
738
31
659
475
528
246
869
130
614
192
528
295
893
413
243
251
633
76
702
665
670
148
253
34
340
571
696
473
185
9
173
170
344
483
897
641
606
304
954
581
275
233
556
727
387
731
947
654
289
501
624
815
307
246
649
485
13
722
627
456
609
731
328
501
74
618
58
622
15
253
599
65
611
195
969
927
648
962
282
932
412
872
741
605
107
938
127
675
568
678
221
964
237
524
233
432
794
684
700
332
346
969
259
597
802
98
426
714
901
399
731
314
386
708
616
646
971
449
54
888
98
579
170
6
926
84
50
477
670
205
547
742
174
424
98
680
567
514
512
779
948
615
219
878
325
430
699
580
420
51
681
447
570
897
220
101
648
493
963
208
842
546
747
133
144
898
148
718
650
438
805
265
64
992
89
278
376
549
209
960
304
899
926
756
939
932
860
472
15
376
780
609
348
722
370
615
301
447
722
689
561
414
194
591
139
499
327
730
268
98
258
392
761
130
410
597
516
564
269
502
46
305
779
684
308
455
169
890
676
619
74
62
564
904
443
526
78
721
29
241
112
318
240
924
421
195
747
669
580
244
504
429
191
448
810
316
342
487
582
258
116
419
309
968
917
911
13
515
444
139
132
93
459
589
453
678
869
456
76
388
240
243
944
298
601
478
638
366
253
137
989
889
368
527
549
616
361
851
126
255
353
653
385
572
598
621
982
746
349
24
851
926
553
153
985
164
646
721
550
40
953
111
214
326
415
758
336
967
859
676
85
519
623
367
570
949
105
883
831
319
727
852
872
508
886
629
977
537
686
562
195
485
637
562
281
258
54
785
302
645
587
244
838
232
164
612
980
714
650
290
297
81
690
562
281
258
54
785
302
645
587
244
838
232
164
612
980
714
650
290
297
81
690
/*
* File: main.cpp
* Author: Eyüp Atiş
*/
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
#include <time.h>
#include "bid.h"
#include "pq.h"
using namespace std;
int main(int argc, char *argv[]){
srand (time(NULL));
string line;
ifstream myfile("bids.txt");
if(myfile.is_open())
{
while (getline(myfile, line))
{
PQ heap_list(0);
cout << "Auction winners are: " << endl;
int counter = 0, new_bid_counter = 0, update_counter = 0, op_counter = 0;
while(op_counter < atoi(argv[0])){
while(counter < 100){
unsigned pos = line.find("\n");
int bid = atoi(line.substr(0,pos).c_str());
bool is_new = rand() % 1 > atof(argv[1]);
if (is_new){
heap_list.insert(bid);
new_bid_counter++;
}
else{
heap_list.increaseKey(rand() % heap_list.getHeapsize());
update_counter++;
}
counter++;
}
heap_list.heapSort();
Bid max = heap_list.extractMax();
cout << max.getValue() << endl;
op_counter++;
}
cout << "Number of New Bids: " << new_bid_counter << endl;
cout << "Number of updates: " << update_counter << endl;
}
myfile.close();
}
else
cout << "File could not be opened." << endl;
return 0;
}
#ifndef PQ_H
#define PQ_H
#include <math.h>
class PQ{
Bid heap [1000];
int heapsize;
public:
void heapSort();
void heapify(int root);
void buildHeap();
Bid extractMax();
void insert(int key);
int parent(int i);
int left(int i);
int right(int i);
void increaseKey(int i);
PQ();
PQ(int heap_size){
heapsize = heap_size;
}
int getHeapsize();
void swap(Bid& x, Bid& y);
};
int PQ::getHeapsize(){
return heapsize;
}
void PQ::heapSort(){
buildHeap();
for (int i = heapsize-1; i >=1; i--){
swap(heap[0], heap[i]);
heapsize--;
heapify(0);
}
}
void PQ::heapify(int root){
int left = 2*root+1,
right = 2*root +2,
largest;
if ( (left < heapsize) && (heap[left].getValue() > heap[root].getValue()))
largest = left;
else
largest = root;
if ( (right < heapsize) && (heap[right].getValue() > heap[largest].getValue()))
largest = right;
if (largest != root){
swap(heap[root], heap[largest]);
heapify(largest);
}
}
void PQ::buildHeap(){
for (int i = floor((heapsize)/2); i >= 0 ; i--)
heapify(i);
}
Bid PQ::extractMax(){
Bid max = heap[0];
heap[0] = heap[heapsize - 1];
heapsize -= 1;
heapify(0);
return max;
}
void PQ::insert(int key){
heapsize += 1;
int i = heapsize - 1;
while ( i > 0 && heap[parent(i)].getValue() < key){
heap[i] = heap[parent(i)];
i = parent(i);
}
Bid new_bid(key);
heap[i] = new_bid;
}
int PQ::parent(int i){
if (i == 1) return 0;
return i/2;
}
int PQ::left(int i){
if (i * 2 <= heapsize)
return 2 * i;
else return 0;
}
int PQ::right(int i){
if (2 * i + 1 <= heapsize)
return 2 * i + 1;
else return 0;
}
void PQ::increaseKey(int i){
heap[i] = heap[i].increaseValue();
while (i>1 && heap[parent(i)].getValue() < heap[i].getValue()){
swap(heap[i], heap[parent(i)]);
i = parent(i);
}
}
void PQ::swap(Bid& x, Bid& y){
Bid temp;
temp = x;
x = y;
y = temp;
}
#endif /* PQ_H */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment